构建流水线中如何跳过APK重装运行connectedAndroidTests?
解决方法
首先,app:cAT是app:connectedAndroidTest的缩写,这个任务默认会触发installDebug(对应测试变体的安装任务)和assembleDebug,因为测试流程默认依赖APK的编译与安装环节。你只排除assembleDebug没用,因为installDebug任务依然会尝试执行,而它本身依赖assembleDebug,导致编译流程还是会被触发。
给你两个简便的命令行方案:
方案1:直接跳过安装和编译任务
直接在命令中排除installDebug和assembleDebug两个任务,测试任务会直接使用已编译好的APK,并且跳过设备安装步骤:
./gradlew app:cAT -x app:installDebug -x app:assembleDebug
如果你的测试用的是release等其他变体,把Debug替换成对应变体名称即可,比如installRelease。
方案2:使用--no-build参数跳过所有构建环节
Gradle提供的--no-build参数会跳过所有需要生成构建产物的任务,直接执行测试任务,适合你已经确认构建产物完整且最新的场景:
./gradlew app:cAT --no-build
注意:如果后续代码或资源有修改,这两个方案都会因为缺少最新产物导致测试失败,此时需要重新执行完整的编译安装流程。
内容的提问来源于stack exchange,提问作者AndyReifman
相关产品推荐
相关产品推荐

