"使用jack"编译时无法测试混淆变体。使用Jack工具链构建Android应用程序时出错

时间:2016-06-08 22:50:00

标签: android android-studio android-gradle

我尝试按照本文https://developer.android.com/preview/j8-jack.html中的步骤尝试在我的Android项目中启用Jack工具链,但只要我添加

android {
    defaultConfig {
        jackOptions {
            enabled true
        }
    }
}

并运行gradle clean,我立即收到此错误:

  

使用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'
}

1 个答案:

答案 0 :(得分:4)

D'哦!修复非常简单。显然杰克与ProGuard和行不兼容:

release {
    minifyEnabled true
}

启用ProGuard,因为它现在称为“缩小”。将其切换为false可以解决问题...我只是没有看到该行,因为它位于不同的部分......