Error:Build-in class shrinker and multidex are not supported yet

Error:Build-in class shrinker and multidex are not supported yet

useProguard truemultidexEnabled true 添加到我的构建类型后,尝试构建时出现此错误:

Error:Build-in class shrinker and multidex are not supported yet.

compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
    applicationId "com.example.android
    minSdkVersion 16
    targetSdkVersion 23
    versionCode gitVersionCode()
    versionName gitVersionName()
    multiDexEnabled true
}

buildTypes {
    debug {
        ...
        useProguard false
        debuggable true
    }
    release {
        ...
        useProguard true
    }

运行 Android Studio 2.0 测试版 5.

除了删除 multidex 之外还有什么解决方案吗?

useProguard变成了minifyEnabled。请尝试以下操作:

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }
    }
}

只需删除 multidexEnabled 并从那里使用 progaurd 并试一试。

以防万一有人还在调查这个问题。 首先,尝试通过启用代码收缩来避免 64k 限制(并避免使用 multiDexEnabled)。尝试以下操作:

android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
        }
    }
}

如果上述方法不起作用并且您必须使用 miltiDexEnabled,则不要使用混淆器,也不要尝试缩减资源。尝试以下操作:

buildTypes {
    ...
    release {
        minifyEnabled false
        ...
    }
}

简单的关闭shrinkResources和multiDexEnable,问题就解决了。

shrinkResources false
multiDexEnabled false

此外,如果您有如下 dexoption,请禁用 dex 选项 false:

dexOptions {
        incremental false
    }