Herramientas de construcción 21.1.2 – EXCEPCION INESPERADA DE NIVEL SUPERIOR
Estoy repentinamente corriendo en este problema al construir / ejecutar mi proyecto.
Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/aidanfollestad/Documents/android-sdk/build-tools/21.1.2/dx --dex --no-optimize --output /Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/dex/debug --input-list=/Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/tmp/dex/debug/inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502) at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277) at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
Mi archivo Gradle contiene lo siguiente:
- Gradle: Multi-Dimension Flavour ApplicationId
- No se puede construir el proyecto Gradle con Android Studio
- Cómo agregar colecciones de apache commons en Android Studio (Gradle)
- ¿Hay alguna forma de integrar Eclipse con Gradle en el proyecto de Android?
- Aumentar versionCode por uno Automáticamente después de ejecutar packageReleaseJar
buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.14.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'versionPlugin' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.afollestad.impression" minSdkVersion 16 targetSdkVersion 21 versionCode 19 versionName "0.7.0" } } repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { compile 'com.android.support:appcompat-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0.+' compile 'com.koushikdutta.ion:ion:2.0.+' compile 'com.github.chrisbanes.photoview:library:1.2.+' compile 'com.afollestad:material-dialogs:0.4.5' compile 'com.google.android.gms:play-services:6.5.87' compile 'com.google.api-client:google-api-client:1.18.0-rc' compile 'com.google.api-client:google-api-client-android:1.18.0-rc' compile 'com.google.api-client:google-api-client-gson:1.18.0-rc' compile 'com.google.apis:google-api-services-drive:v2-rev152-1.19.0' compile('com.crashlytics.sdk.android:crashlytics:2.1.0@aar') { transitive = true; } } versionPlugin{ buildTypesMatcher = 'release' supportBuildNumber = false fileNameFormat = '$appPkg-v$versionName-$versionCode' }
Mi biblioteca de materiales de diálogos sólo hace referencia a AppCompat-v7, la misma versión que hace referencia a este archivo Gradle. No tengo ningún JAR en mi carpeta de librerías que estoy haciendo referencia. No tengo idea de qué bibliotecas están interfiriendo entre sí (aparte de la posibilidad de Play Services y AppCompat?). ¿Alguna idea o solución?
Me di cuenta de Ion referencias v4 de la biblioteca de soporte ( https://github.com/koush/ion/blob/master/ion/build.gradle#L17 ), tal vez podría estar interfiriendo con AppCompat?
- Android Studio 1.3 error multidex en gradle
- Android Studio: Gradle sync failed: Proyecto: app declara una dependencia
- ¿Es posible probar contra la versión de lanzamiento de tu aplicación con el complemento Android Gradle?
- Cómo obtener gradle para compilar la versión local de picasso
- Java.lang.NullPointerException (sin mensaje de error)
- ¿Cuál es exactamente la ventaja en el uso de gradle en el desarrollo de Android?
- Android Studio Gradle Archivo no válido Manifest.xml
- Cómo agregar .aar dependencia en el módulo de la biblioteca?
Intente habilitar multidex build.gradle:
android { defaultConfig { ... multiDexEnabled = true } }
Ref: No se puede ejecutar dex: method ID no en [0, 0xffff]: 65536
Usted puede golpear el límite de 65k métodos. En lugar de utilizar MultiDex, intente utilizar Google Play Services con más granularidad. Siga esta guía , sólo puede utilizar las piezas que desee. Probablemente esto solucionará su problema.
Esta excepción demuestra que su proyecto ha alcanzado el número máximo de métodos 65536. usted apenas hace el trabajo below.It trabajado para mí
Paso 1:
Dentro de build.gradle
defaultConfig { multiDexEnabled = true }
Paso 2:
Dentro de la etiqueta de aplicación de manifiesto
android:name="android.support.multidex.MultiDexApplication" or
Paso 3: si utiliza la clase que extiende la aplicación, haga lo siguiente:
public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } }
Etapa 4:
Dentro de la construcción
android{ dexOptions { incremental true javaMaxHeapSize "4g" } }
- Org.json.JSONObject no se puede convertir en JSONArray
- Barra de búsqueda personalizada (tamaño del pulgar, color y fondo)