6

I przestrzegać instrukcji multidex w https://developer.android.com/tools/building/multidex.htmlGradle metoda DSL nie znaleziono: 'multiDexEnabled()'

Ale otrzymuję ten błąd Gradle metody DSL nie znaleziono: 'multiDexEnabled()'. Zaktualizowałem Narzędzia Android, Repozytorium pomocy technicznej dla Androida i bibliotekę. Oto mój plik gradle.build. Czy robię coś złego tutaj?

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

Odpowiedz

4

Musisz mieć wersję 0.14.0 lub nowszą wtyczki Android Gradle. Szczegółowe informacje na temat zawartości każdego wydania znajdują się w uwagach do wydania pod numerem http://tools.android.com/tech-docs/new-build-system.

+1

Dzięki, że zaktualizowałem do najnowszego Androida Studio (Canary 0.9.2) i najnowszą wtyczkę Android Gradle 0.14.2 – bman

+0

@ bman czy to działa? – Bri6ko

+0

@Scott Barta Korzystam z Android Studio 1.0 RC 4, ale pokazuje mi błąd, ponieważ nie znaleziono metody DSL Gradle: "useOldManifestMerger()" usunąłem ją i uruchomiłem teraz pokazuje ona, że ​​nie znaleziono metody DSL Gradle: 'apply()' – Manoj

-1

Upewnij się, że masz android:name="android.support.multidex.MultiDexApplication" w pliku manifestu Androida w elemencie aplikacji.

+1

nie rozpoznaje nawet MultiDexApplication, ponieważ plik build.gradle nie jest kompilowany. – bman

5

Upewnij Zależności w Gradle złożyć aplikacji mają to linie:

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

}

Również w globalnej (projekt) Gradle pliku, upewnij się, że masz najnowszą wersję Gradle.

dependencies { 

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

W swoim menedżerze SDK upewnij się, że masz najnowsze biblioteki pomocy technicznej i repozytorium.

W swoim AndroidManifest.xml. dodaj następującą linię:

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

Możesz przeczytać całą dokumentację here.

+0

Aby było to jasne, nie musisz dodawać go do manifestu, jeśli rozszerzasz aplikację. W takim przypadku powinieneś dodać @Override \t chroniony void attachBaseContext (baza kontekstu) { \t \t super.attachBaseContext (podstawa); \t \t MultiDex.install (this); \t} – portfoliobuilder

+0

Należy również wybrać odpowiedź – portfoliobuilder

Powiązane problemy