无法在较旧的设备上运行库的检测测试

时间:2018-08-23 22:36:45

标签: android android-instrumentation

在较旧的设备(我测试了v10和15)上,由于以下问题,我无法在不使用ProGuard的情况下安装任何调试应用程序:Can't upload Android app to device (stale dexed jars)

通过选项-dontobfuscate和隐式收缩暂时使用ProGuard进行调试,从而减少了方法数量,因此允许在这些设备上运行应用程序。目前,我没有找到其他解决方案。

尝试在旧设备上运行我的库的检测测试时,也会出现相同的问题。为了允许该库的代码分别收缩,我更改了其build.gradle:

apply plugin: 'com.android.library'
...
android {
    ..
    buildTypes {
        debug {
            minifyEnabled true
            shrinkResources false
            testProguardFile 'proguard-rules.pro'
            // or testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        ...
    }
}

(提示:库调试版本通常与除测试以外的所有版本都不相关,因为如果将库作为依赖项构建,则Android始终使用发布版本。)

在模拟器(v15)上执行对我的库的检测后,我得到以下几种错误:

Error:(19, 33) error: package my.proj....Config does not exist
Error:(18, 31) error: cannot find symbol variable ClassName

它找不到库本身默认源集的任何符号。这仅发生在minifyEnabled true上。这怎么会发生?

0 个答案:

没有答案