j2e*_*nue 6 android unit-testing proguard android-gradle-plugin
有人可以帮助我了解 testProguardFile 的使用。假设我在 gradle 构建文件中调试了 buildType 及其配置:
// inside android block
debug {
shrinkResources true // removes unused graphics etc
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFile('test-proguard-rules.pro')
}
Run Code Online (Sandbox Code Playgroud)
那么为什么我要提供另一个名为 test-proguard-rules.pro 的 proguard 规则文件进行测试?如果我理解正确,当我进行仪器测试时会生成一个单独的 apk,但是如果我只是在进行单元测试怎么办,也是这种情况吗?
我希望能够做的是运行“单元测试”(不是仪器测试),但让单元测试 apk 使用我在项目构建设置中定义的 proguard 规则。
正如我在我的博客文章 -为 Android 仪器测试配置 ProGuard 中尝试解释的那样:
最初,大约有2 个主要的、不同的Gradle 任务用于运行检测测试:assembleRelease和assembleAndroidTest. 前者执行生成 app 所需的内容.apk。后者触发仪器测试的组装,.apk当仪器测试运行时,它与应用程序一起安装在测试设备上(两者都在同一操作系统进程的上下文中运行)。
虽然proguardFiles设置了在生成应用程序时要考虑的 ProGuard 规则文件列表.apk,testProguardFiles但对于检测也是如此.apk。
因此,虽然命名令人困惑,但testProguardFiles对单元测试没有影响,但对于在启用 ProGuard 的项目中运行的仪器测试很重要。
现在我知道它是什么了 testProguadFile ('some proguard file') 为您的测试 apk 提供了一个在测试时使用的 proguard 文件。这允许我们使用 proguard 文件测试我们的应用程序。运行测试时生成的测试apk将使用proguard进行混淆,然后测试将运行。这是测试 proguard 可能在您的应用程序中创建的任何异常的好方法。
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |