我正尝试按照本文 https://developer.android.com/preview/j8-jack.html 中的步骤在我的 Android 项目中启用 Jack 工具链但只要我添加
android {
defaultConfig {
jackOptions {
enabled true
}
}
}
然后运行 gradle clean
,我立即收到此错误:
Cannot test obfuscated variants when compiling with jack
我用一个非常简单的 Android 项目尝试了它,但我仍然遇到同样的错误。这是一个示例 gradle.build 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 7
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
}
噢!修复非常简单。显然 Jack 与 ProGuard 和行不兼容:
release {
minifyEnabled true
}
启用 ProGuard,因为它现在被称为“缩小”。将其切换为 false
可解决问题...我只是没看到该行,因为它位于不同的部分...
我是一名优秀的程序员,十分优秀!