2016-02-25 38 views
7

加入useProguard truemultidexEnabled true到我的內置類型試圖建立時,該錯誤出現後:錯誤:內建類收縮機和multidex還不支持

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 Beta 5.

除了刪除multide以外的任何解決方案X?

+0

我有同樣的問題。用minifyEnabled替換useProguard並重新構建應用程序生成的多次。 –

+0

我在AS2.2上有相同的錯誤消息。在我的情況下,刪除所有「useProguard」並用「minifyEnabled」替換它解決了這個問題。根據http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html,「useProguard」不再存在。 –

回答

10

useProguard變成minifyEnabled。請嘗試以下操作:

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

只是刪除multidexEnabled並從那裏使用progaurd並試一試。

+0

由於64K限制,我希望啓用multidex。 – powder366

+0

@ powder366如果你使用proguard,你將不需要爲64k限制啓用multidex;) –

1

以防萬一有人仍在考慮這一點。 首先,嘗試通過啓用代碼縮小來避免64k限制(並避免使用multiDexEnabled)。請嘗試以下操作:

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

如果以上不工作,你必須使用miltiDexEnabled那麼就不要使用proguard的,不要試圖收縮資源。請嘗試以下操作:

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

只需禁用shrinkResources和multiDexEnable,它就可以解決問題。

shrinkResources false 
multiDexEnabled false 

此外,禁用DEX選項錯誤的,如果你有如下dexoption:

dexOptions { 
     incremental false 
    } 
相關問題