$ ./gradlew clean build connectedCheck
产量
Unable to find instrumentation target package: my.package
com.android.builder.testing.ConnectedDevice > hasTests FAILED
No tests found.
:app:connectedAndroidTest FAILED
,而
$ ./gradlew clean check connectedCheck
结果
...
:app:connectedAndroidTest
BUILD SUCCESSFUL
我的设置唯一独特之处在于我有一个纯java模块,它使用android构建工具Gradle插件在Android应用旁边使用'java'
Gradle插件:
project
- core (pure java)
- app (com.android.application)
并且app项目对核心项目的工件具有编译时依赖性:
# app/build.gradle
depenedencies {
compile project(':core')
}
我使用构建工具 21.1.2 和sdk工具 24.0.2 。
修改
我忘了提到我做了一个不那么普通的步骤,即重命名apk的输出文件:
android.applicationVariants.all { variant ->
def apkVariant = variant.outputs[0]
def outputFile = apkVariant.outputFile
def versionName = android.defaultConfig.versionName
def newName = outputFile.getName().replace(".apk", "-${versionName}.apk")
apkVariant.outputFile = file("${outputFile.parentFile}/newName")
}
删除此代码可解决此问题。 但是,我想知道原因。
答案 0 :(得分:0)
重命名逻辑中存在拼写错误。
def newName = outputFile.getName().replace(".apk", "-${versionName}.apk")
apkVariant.outputFile = file("${outputFile.parentFile}/newName")
我忘记了'$'
。它应该是:
apkVariant.outputFile = file("${outputFile.parentFile}/$newName")
由于拼写错误,所有应用程序变体共享相同的输出文件,我的测试apk被构建中的下一个变体覆盖。