2016-02-25 21 views
7

Dopo aver aggiunto useProguard true e multidexEnabled true ai miei tipi costruito questo errore si apre quando si cerca di costruire:Errore: Build-in classe strizzacervelli e multidex non sono ancora supportati

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 
    } 

In esecuzione Android Studio 2.0 Beta 5.

Qualsiasi soluzione oltre alla rimozione di multide X?

+0

Sto avendo lo stesso problema. sostituendo useProguard con minifyEnabled e costruendo più volte l'app build di nuovo con successo. –

+0

Ho avuto lo stesso messaggio di errore su AS2.2. Nel mio caso, la rimozione di tutti "useProguard" e la sua sostituzione con "minifyEnabled" ha risolto il problema. Secondo http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.BuildType.html, "useProguard" non esiste più. –

risposta

10

useProguard diventato minifyEnabled. Prova il seguente:

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

basta rimuovere multidexEnabled e utilizzare la progressione da lì e provarlo.

+0

Voglio avere il multidex abilitato a causa del limite di 64K. – powder366

+0

@ powder366 se si utilizza proguard, non sarà necessario abilitare il multidex per il limite di 64k;) –

1

Nel caso in cui qualcuno stia ancora esaminando questo. Prima di tutto, cerca di evitare il limite di 64k (ed evita di usare multiDexEnabled) riducendo il codice di abilitazione. Provare quanto segue:

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

Se quanto sopra non funziona e si deve utilizzare miltiDexEnabled allora non usare Proguard e non cercare di compattare le risorse. Prova il seguente:

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

Semplicemente disabilitare shrinkResources e multiDexEnable, ha risolto il problema.

shrinkResources false 
multiDexEnabled false 

Inoltre, disabilitare l'opzione Dex false se si dispone di dexoption come di seguito:

dexOptions { 
     incremental false 
    }