如何通过Android Gradle Plugin仅运行插桩测试并生成报告,跳过构建与安装?
仅通过Android Gradle Plugin运行插桩测试并生成报告(跳过构建与安装)
可以通过Gradle的任务排除机制,直接跳过APK构建和安装步骤,仅执行插桩测试并生成标准HTML报告,具体方法如下:
一、快速命令行执行(单次使用)
直接通过-x参数排除构建、安装相关的前置任务,运行connectedAndroidTest核心逻辑:
./gradlew connectedAndroidTest -x assembleDebug -x assembleDebugAndroidTest -x installDebug -x installDebugAndroidTest
参数说明:
-x:用于排除指定任务,这里跳过了构建APK的assembleDebug、assembleDebugAndroidTest,以及安装APK的installDebug、installDebugAndroidTest- 执行后,Gradle会直接连接已预装APK的设备,运行插桩测试,并生成和
./gradlew cAT完全一致的HTML报告,默认路径在app/build/reports/androidTests/connected/
二、自定义Gradle任务(CI流水线复用)
如果需要在CI中频繁执行,可在模块的build.gradle(或build.gradle.kts)中定义自定义任务,简化命令:
Groovy DSL(build.gradle)
task runInstrumentedTestsSkipBuild(type: Exec) { dependsOn 'connectedAndroidTest' doFirst { gradle.startParameter.excludedTaskNames.addAll(['assembleDebug', 'assembleDebugAndroidTest', 'installDebug', 'installDebugAndroidTest']) } }
Kotlin DSL(build.gradle.kts)
tasks.register("runInstrumentedTestsSkipBuild") { dependsOn(tasks.connectedAndroidTest) doFirst { gradle.startParameter.excludedTaskNames.addAll(listOf("assembleDebug", "assembleDebugAndroidTest", "installDebug", "installDebugAndroidTest")) } }
之后只需执行自定义任务即可:
./gradlew runInstrumentedTestsSkipBuild
注意事项
- 必须确保设备上预装的
app-debug.apk和app-debug-androidTest.apk,与当前代码的测试逻辑完全匹配,否则会出现测试结果异常 - 如果设备未正确安装目标APK,Gradle会直接报错,需手动检查安装状态
内容的提问来源于stack exchange,提问作者Undefined function
相关产品推荐
相关产品推荐

