6

ho seguito la guida multidex a https://developer.android.com/tools/building/multidex.htmlGradle metodo DSL non trovato: 'multiDexEnabled()'

ma ottengo questo errore metodo di DSL Gradle non trovato: 'multiDexEnabled()'. Ho aggiornato Android Built Tools, Android Support Repository e Library. Ecco il mio file gradle.build. Sto facendo qualcosa di sbagliato qui?

Could not find method multiDexEnabled() for arguments [true] on ProductFlavorDsl_Decorated{name=main, minSdkVersion=ApiVersionImpl{mApiLevel=10, mCodename='null'}, targetSdkVersion=ApiVersionImpl{mApiLevel=17, mCodename='null'}, renderscriptTargetApi=-1, renderscriptSupportMode=null, renderscriptNdkMode=null, versionCode=-1, versionName=null, applicationId=test.com.app, testApplicationId=null, testInstrumentationRunner=null, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null}. 

build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "21.1.1" 

    defaultConfig { 
     applicationId "test.com.app" 
     minSdkVersion 10 
     targetSdkVersion 17 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 

    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile project(':addThisSDK') 
    compile project(':centeredContentButton') 
    compile project(':googleplayservices_lib') 
    compile files('libs/addthis0.0.8.jar') 
    compile files('libs/adxtag2.4.6.jar') 
    compile files('libs/android-support-v4.jar') 
    compile files('libs/aws-android-sdk-1.7.1.1-debug.jar') 
    compile files('libs/commons-lang-2.6.jar') 
    compile files('libs/crittercism_v4_4_0_sdkonly.jar') 
    compile files('libs/dd-plist.jar') 
    compile files('libs/FiksuAndroidSDK_4.1.1.jar') 
    compile files('libs/iqengines-sdk-barcode.jar') 
    compile files('libs/irEventTracker-1.2.jar') 
    compile files('libs/jolt-core-0.0.7.jar') 
    compile files('libs/json-utils-0.0.7.jar') 
    compile files('libs/jsoup-1.7.2.jar') 
    compile files('libs/kooaba-api-v4-java.jar') 
    compile files('libs/signpost-commonshttp4-1.2.1.1.jar') 
    compile files('libs/signpost-core-1.2.1.1.jar') 
    compile 'com.android.support:multidex:1.0.0' 
} 

risposta

4

È necessario eseguire la versione 0.14.0 o successiva del plug-in Android Gradle. Consulta le note sulla versione allo http://tools.android.com/tech-docs/new-build-system per i dettagli su ciò che è contenuto in ogni versione.

+1

Grazie all'aggiornamento all'ultima versione di Android Studio (Canary 0.9.2) e all'ultimo Android Gradle Plugin 0.14.2 – bman

+0

@bman hai funzionato? – Bri6ko

+0

@Scott Barta sto usando Android Studio 1.0 RC 4 ma mi mostra l'errore come metodo Gradle DSL non trovato: 'useOldManifestMerger()' lo avevo rimosso ed eseguito ora mostra come metodo Gradle DSL non trovato: 'apply()' – Manoj

-1

Assicurarsi di avere android:name="android.support.multidex.MultiDexApplication" nel file manifest Android nell'elemento applicazione.

+1

non può nemmeno riconoscere MultiDexApplication come il file build.gradle non viene creato. – bman

5

Assicurarsi che le dipendenze nel file Gradle della tua app hanno questa linea:

dependencies { 
compile 'com.android.support:multidex:1.0.0' 
compile 'com.android.support:appcompat-v7:21.0.0' 

}

Inoltre, nel vostro (Progetto) File Gradle globale, assicurarsi di avere l'ultima versione Gradle.

dependencies { 

    classpath 'com.android.tools.build:gradle:0.14.0' 
} 

Nel gestore SDK, assicurarsi di disporre delle ultime librerie di supporto e repository.

Nel file AndroidManifest.xml. aggiungere la seguente riga:

android:name="android.support.multidex.MultiDexApplication" 

Potete leggere l'intera documentazione here.

+0

Quindi, questo è chiaro, in realtà non è necessario aggiungerlo al manifest se si sta estendendo l'applicazione. In tal caso, è necessario aggiungere @Override \t protetto void attachBaseContext (Base di contesto) { \t \t super.attachBaseContext (base); \t \t MultiDex.install (questo); \t} – portfoliobuilder

+0

Inoltre, questa dovrebbe essere la risposta selezionata – portfoliobuilder

Problemi correlati