You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Gradle针对Android Release构建运行connectedAndroidTest?

针对Release构建运行Android插桩测试的配置方法

当然可以搞定这个问题!你只需要在Gradle配置里做一些简单调整,就能让插桩测试针对Release构建运行,具体步骤如下:

1. 指定测试用的构建类型

在你的模块级build.gradle(Groovy DSL)或者build.gradle.kts(Kotlin DSL)文件的android块中,添加testBuildType配置,明确告诉Gradle使用Release构建来执行插桩测试:

Groovy DSL示例

android {
    // 其他原有配置...
    testBuildType "release"
}

Kotlin DSL示例

android {
    // 其他原有配置...
    testBuildType = "release"
}

配置完成后,直接运行./gradlew connectedAndroidTest命令,Gradle就会自动针对Release构建执行插桩测试了。

2. 处理Release构建的混淆(可选但关键)

Release构建通常会开启代码混淆(R8/ProGuard),如果不配置对应规则,测试代码依赖的类、方法可能会被移除或重命名,导致测试失败。你需要在混淆规则文件(比如proguard-rules.pro)中添加以下规则,保留测试相关的代码:

# 保留AndroidX测试库相关类
-keep class androidx.test.** { *; }
-keep class org.junit.** { *; }

# 保留你的测试类(替换为实际的测试包名)
-keep class com.yourpackage.test.** { *; }

# 保留应用内测试依赖的核心类/方法(按需调整)
-keep class com.yourpackage.** {
    public protected *;
}

3. 配置Release构建的签名

Release构建默认需要签名才能安装到设备上,所以你需要确保测试用的Release构建有合法的签名配置。可以在android块的signingConfigs中添加测试专用的签名,再关联到Release构建:

Groovy DSL示例

android {
    signingConfigs {
        releaseTest {
            storeFile file("test-release-key.jks")
            storePassword "your-store-password"
            keyAlias "your-key-alias"
            keyPassword "your-key-password"
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.releaseTest
            // 其他Release构建配置...
        }
    }
}

4. 直接针对Release变体运行测试(替代方案)

如果你不想修改全局的testBuildType,也可以直接运行Release变体对应的插桩测试任务,跳过全局配置:

./gradlew connectedReleaseAndroidTest

内容的提问来源于stack exchange,提问作者JE42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:49:37