3.0/Gradle 4.1后,我发现我无法再在Android Studio中运行Appengine模块的jUnit测试。 gradle 控制台报告:
Class not found: "com.example.test.PackageName"Empty test suite.
类文件是在我从 Android 工作室运行时生成的,我仍然可以从命令行运行测试。
我怀疑问题与我从命令行运行时看到的此日志行有关:
setTestClassesDir(File) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the setTestClassesDirs(FileCollection) method instead.
GitHub 上的 gradle-appengine-plugin
项目中有此问题的票证,但它未连接到 Android Studio。
我假设这里的某个地方有一个错误,但也许有人有解决方法。
https://cloud.google.com/tools/android-studio/docs/上有以下信息:
"Android Studio 3.0 不支持创建基于 App Engine 的云后端;但是,您现有的云后端项目将继续在Android Studio中工作。
我的应用引擎后端不起作用。我正在尝试迁移到IntelliJ Idea的免费社区版本,如下所述:https://cloud.google.com/tools/intellij/docs/migrate
这只是部分解决方案,但在appengine模块的build.gradle文件中注释掉这些行对我有用:
在一般范围内:
apply plugin: 'appengine'
以及所有appengine
范围:
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = false
getDiscoveryDocsOnBuild = false
}
}
在dependencies
范围内:
appengineSdk "com.google.appengine:appengine-java-sdk:${rootProject.ext.appengineSdkVersion}"
在本地测试代码时,我会注释掉这些行,并在部署之前取消注释它们。
- 请记住,build.gradle 文件中的 appengine 配置可能略有不同。