Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Java terminado con valor de salida distinto de cero 2 – Android Gradle

Estoy recibiendo este error ejecutando mi aplicación Android (lo limpié y luego lo construí, pero el error sigue presente)

  • Sincronizar: OK
  • Hacer proyecto: OK
  • Limpieza: OK
  • Ejecutar: Error

Error: Error de ejecución de la tarea ': app: dexDebug' .com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'comando' C: \ Archivos de programa \ Java \ jdk1.7.0 _25 \ bin \ java.exe '' finalizó con un valor de salida distinto de cero 2

  • Xamarin - Android - Visual Studio - No se pudo iniciar la aplicación
  • ¿Cómo mostrar Toast de un Servicio después de que la actividad principal termine?
  • Cómo quitar el archivo de clase en archivo .jar y cambiarlo con mi propia implementación
  • Insertar null en la tabla Sqlite
  • ¿Cómo crear o encontrar un archivo "userdata.img" para armeabi ABI para copiar en la carpeta AVD
  • ¿Deshabilitar ScrollView mediante programación?
  • Mi archivo gradle:

    apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.rzr.rzevallosr.miappdepruebas" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } repositories { mavenCentral() flatDir { dirs 'libs' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // This library handles authentication and authorization compile 'com.spotify.sdk:spotify-auth:1.0.0-beta9@aar' // This library handles music playback compile 'com.spotify.sdk:spotify-player:1.0.0-beta9@aar' compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.+' compile 'com.squareup.retrofit:retrofit:1.9.0' compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' compile 'com.squareup.okhttp:okhttp:2.2.0' compile files('libs/spotify-web-api-android-master-0.1.0.jar') compile files('libs/okio-1.3.0.jar') } 

    EDIT: No he visto "compilar fileTree (dir: 'libs', include: ['* .jar'])" fue la compilación de dos veces mis bibliotecas, por lo que sólo comentario:

     //compile 'com.squareup.retrofit:retrofit:1.9.0' //compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' //compile 'com.squareup.okhttp:okhttp:2.2.0' //compile files('libs/spotify-web-api-android-master-0.1.0.jar') //compile files('libs/okio-1.3.0.jar') 

    Y funciona bien.

  • ¿Cómo conectar la fuente de Android a Eclipse?
  • Cómo cambiar la casilla de verificación (marcar casilla) color a blanco en android XML
  • Cómo ampliar la imagen a coordenadas especificadas en android
  • Tablet Android: obtenga un ID de dispositivo único
  • IllegalArgumentException en StatFs en WebViewCore thread interno
  • En Android, ¿cómo puedo suavizar el fondo de un color a otro? (Cómo utilizar subprocesos)
  • 23 Solutions collect form web for “Java terminado con valor de salida distinto de cero 2 – Android Gradle”

    Este problema es muy posiblemente debido a superar los 65K métodos dex límite impuesto por Android. Este problema se puede resolver ya sea limpiando el proyecto y eliminando algunas bibliotecas y métodos no utilizados de las dependencias en build.gradle, o agregando soporte multidex.

    Por lo tanto, si usted tiene que mantener las bibliotecas y los métodos, a continuación, puede habilitar soporte multidex declarándolo en la configuración gradle.

     defaultConfig { // Enabling multidex support. multiDexEnabled true } 

    Puede leer más acerca del soporte multidex y desarrollar aplicaciones con más de 65K métodos aquí .

    Para mí el problema era, yo había puesto un código innecesario de la biblioteca complie en build.gradle

     dependencies { compile 'com.google.android.gms:play-services:7.5.0' } 

    Que estaba causando más de 65k métodos, por lo que eliminado, gradle sync, limpió el proyecto, y luego corrió de nuevo y, a continuación, este error se detuvo. Necesitaba sólo mapas y gcm así que poner estas líneas y el proyecto sincronizado

     compile 'com.google.android.gms:play-services-gcm:7.5.0' compile 'com.google.android.gms:play-services-location:7.5.0' 

    Hola gente volví a encontrar este problema y esta vez fue por cambiar la versión de herramientas de construcción y realmente me pidió habilitar multidex .. así que añadí el archivo build.gradle de mi aplicación ..

     defaultConfig { applicationId "com.am.android" minSdkVersion 13 targetSdkVersion 23 // Enabling multidex support. multiDexEnabled true } dexOptions { incremental true javaMaxHeapSize "2048M" jumboMode = true } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:multidex:1.0.1' } 

    Y crea una clase que extienda la clase Application e incluya este método dentro de la clase.

     @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 

    También se incluyen en el método OnCreate

     @Override public void onCreate() { MultiDex.install(this); super.onCreate(); } 

    Apenas en caso de que si alguien todavía luchando con esto y no tiene ninguna pista porqué está sucediendo esto y cómo fijar. De hecho este error

    Error: Error de ejecución de la tarea ': app: dexDebug'. > Com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: El comando 'command' C: \ Archivos de programa \ Java \ jdkx.x.x_xx \ bin \ java.exe terminó con Valor de salida distinto de cero 2

    Puede tener muchas razones para suceder, pero ciertamente no algo relacionado con su versión JDK por lo que no es su tiempo en la dirección equivocada. Estas son dos razones principales para que esto suceda

    1. Usted tiene mismo archivo de biblioteca o jar incluido varios lugares y algunos de ellos en conflicto entre sí.
    2. Estás a punto de superar el límite del método de 65k

    El primer caso se puede arreglar de la siguiente manera: Descubre qué dependencias has incluido varias veces. Para hacer esto ejecute el comando siguiente en el terminal de estudio de Android

     gradlew -q dependencies yourProjectName_usually_app:dependencies --configuration compile 

    Esto devolverá todas las dependencias pero los archivos jar que se incluyen desde la carpeta lib intentan deshacerse de la duplicación marcada con asterisco (*), esto no siempre es posible, pero en algunos casos aún se puede hacerlo, después de esto intenta excluir módulos que Se incluyen muchas veces, puedes hacerlo así

     compile ('com.facebook.android:facebook-android-sdk:4.0.1'){ exclude module: 'support-v4' } 

    Para el segundo caso cuando se excede la sugerencia de límite de método es tratar de minimizarlo mediante la eliminación de las bibliotecas incluidas (nota suena como la primera solución) si no hay manera de hacerlo añadir multiDexEnabled fiel a su configuración predeterminada

     defaultConfig { ... ... multiDexEnabled true } 

    Esto aumenta el límite del método, pero no es lo mejor que se puede hacer debido a posibles problemas de rendimiento IMPORTANTE añadiendo sólo multiDexEnabled true a defaultConfig no es suficiente de hecho en todos los dispositivos que ejecutan android <5 Lollipop resultará en un comportamiento inesperado y NoClassDefFoundError . Cómo resolverlo se describe aquí

    No sabía (para entonces) que "compile fileTree (dir: 'libs', include: ['* .jar'])" compile todo lo que tiene extensión jar en la carpeta libs, por lo que sólo comentario líneas:

     //compile 'com.squareup.retrofit:retrofit:1.9.0' //compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' //compile 'com.squareup.okhttp:okhttp:2.2.0' //compile files('libs/spotify-web-api-android-master-0.1.0.jar') //compile files('libs/okio-1.3.0.jar') 

    Y funciona bien. ¡Gracias de cualquier manera! Mi error.

    Tuve el mismo problema y arreglé la eliminación de la biblioteca que eran innecesarios

     compile fileTree(dir: 'libs', include: ['*.jar']) 

    Quité esa biblioteca y podría ejecutar el proyecto sin ningún problema.

    La mina se resolvió habilitando multiDex para las compilaciones de depuración.

     defaultConfig { multiDexEnabled true } 

    Rechazo JDK incorporado (en 32bit) porque JDK incorporado es 64bit

    Haga clic con el botón derecho del ratón en el proyecto -> Configuración de módulo abierto -> SDK Location -> Desmarque Usar JDk incorporado y, a continuación, defina su ruta JDK, por ejemplo en Ubuntu / usr / lib / jvm / java-8-openjdk-i386

    Posible problema: Ha superado el límite de métodos de dex 65k, puede que haya agregado alguna biblioteca o varios métodos antes de que ocurriera el problema?

    Si ya ha actualizado su SDK y Usted también utiliza google-play-services, entonces usted necesita para cuidar de la dependencia porque hay algún tipo de conflics con:

    Siga lo siguiente: compile 'com.google.android.gms: play-services: +' Replace by compile 'com.google.android.gms: play-services: 6.5.87'

    Nota: Aquí '6.5.87' es la versión google-play-service. Espero que ayude

    Creo que es conflictos de archivo .jar en su proyecto.

    He quitado android-support-v4.jar de la carpeta de libs y su funcionamiento !!!

    Si su proyecto da error, verifique en su archivo build.gradle

    Dependencias {

    }

    En mi caso, el problema era que la nueva biblioteca (gradle dependency) que yo había agregado dependía de otras dependencias y dos de esas dependencias subyacentes estaban en conflicto / chocando con algunas dependencias de otras bibliotecas / dependencias en mi script de compilación. En concreto, añadí Apache Commons Validator (para la validación de correo electrónico), y dos de sus dependencias (Apache Commons Logging y Apache Commons Collections ) estaban en conflicto con los utilizados por Robolectric (porque diferentes versiones de las mismas bibliotecas estaban presentes en mi camino de construcción). Así que excluí las versiones en conflicto de dependencias ( modules ) al agregar la nueva dependencia (el Validator ):

     compile ('commons-validator:commons-validator:1.4.1') { exclude module: 'commons-logging' exclude module: 'commons-collections' } 

    Puede ver las dependencias de su módulo gradle (puede tener sólo un módulo en su proyecto) usando el siguiente comando gradle (uso el gradle wrapper que se crea para usted si ha creado su proyecto en Android Studio / Intellij Idea). Ejecute este comando en el directorio raíz de su proyecto:

    ./gradlew: YOUR-MODULE-NAME: dependencias

    Después de agregar esas directivas de exclude y volver a ejecutar, tengo un error de duplicate file para NOTICE.txt que es utilizado por algunas bibliotecas apache commons como registro y colecciones. Tuve que excluir ese archivo de texto al empaquetar. En mi build.gradle, agregué:

     packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/notice.txt' exclude 'META-INF/NOTICE.txt' } 

    Resultó que la nueva biblioteca (el Validator ) puede trabajar con versiones un poco más antiguas de sus dependencias / módulos (que ya están importados en mi ruta de construcción por otra biblioteca (Robolectric)). Este fue el caso con esta biblioteca específica, pero otras bibliotecas podrían estar utilizando la API más reciente de las dependencias subyacentes (en cuyo caso debe intentar ver si las otras bibliotecas que dependen del módulo / dependencia en conflicto pueden trabajar con la (Excluyendo la versión anterior del módulo / dependecy en las entradas de esas bibliotecas)).

    Hay dos alternativas que funcionarán con seguridad:

    1. Limpie su proyecto y luego construya.

    Si el método anterior no funcionó, pruebe el siguiente.

    1. Agregue lo siguiente al archivo build.gradle en el nivel de la aplicación

       defaultConfig { multiDexEnabled true } 

    La actualización de mi Java SDK a la última versión 1.7.0_79 y la actualización de la SDK Location en la Project Structure resolvieron el problema para mí.

    Mi problema era que aparte de tener

    Com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command' /Library/Java/JavaVirtualMachines/jdk1.X.X_XX .jdk / Contenido / Inicio / bin / java '' terminado con valor de salida distinto de cero 2

    Tuve este rastro también:

    Error de traducción sin capturar: java.lang.IllegalArgumentException: ya agregado: Lcom / mypackage / ClassX;

    El problema era que yo estaba agregando la misma clase en dos bibliotecas diferentes. Eliminando el archivo class / jar de una de las bibliotecas, el proyecto se ejecuta correctamente

    Para mí estaba agregando todas las dependencias de Playstore

    Compilar 'com.google.android.gms: play-services: 8.4.0'

    Pero necesitaba el mapa de google solamente, así que lo hice más específico y el error fue resuelto.

    Compilar 'com.google.android.gms: play-services-maps: 8.4.0'

    En mi caso, tengo este error cuando hay 2 o más bibliotecas de conflicto (la misma biblioteca, pero diferentes versiones). Comprueba tu aplicación build.gradle en el bloque de dependencias.

    En mi caso el problema era la versión de las herramientas de la estructura que era 23.0.0 rc3 y cambié a 22.0.1 y mi problema fijado.

    Usted puede estar utilizando un cable de baja calidad / cable defectuoso para conectar su dispositivo a la PC, he reemplazado el cable y funcionó para mí.

    Este error se debe a utilizar más número de libraries.in mi caso 'compilar' com.google.android.gms: play-services-9.4.0 'causó este error.Para evitar este error use bibliotecas necesarias.por ejemplo, si desea Para usar Mapas en su aplicación. Luego use compile 'com.google.android.gms: play-services-maps: 9.4.0'. Mientras que la adición de google play dependencia de servicios especifica las bibliotecas necesarias only.by por defecto incluye todas las bibliotecas.

    En su archivo gradle.build , use esto

     "compile fileTree(dir: 'libs', include: ['*.jar'])" 

    Y funciona bien.

    Si desea ver qué es exactamente lo que está causando el error, trate de construir su proyecto a través de gradle terminal, como este ./gradlew assembleDebug --stacktrace --debug . He visto el siguiente error en mi caso com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

    Esto sucedió cuando estaba tratando de entegrate Google Maps a mi proyecto. Para arreglarlo, simplemente revisé las bibliotecas que estaba incluyendo

    compile 'com.google.android.gms:play-services:9.8.0'

    Simplemente lo cambié a

    compile 'com.google.android.gms:play-services-maps:9.8.0'

    Y el problema había desaparecido

    Tuve el mismo error después de convertir mi proyecto a Kotlin . Mi problema era que mi ubicación jre fue cambiado a un camino inválido durante el proceso (me pregunto por qué esto podría pasar … me hizo perder el tiempo). Se corrigió al hacerlo:

     File > Project Structure > SDK Location 

    Desactive la opción Use embedded JDK , que apuntaba a una instalación JDK antigua y seleccionó la correcta:

     /home/my_user/jdk1.8.0_101 

    Después de cambiar esto, el error desapareció

    Trabajé para mi

    I actualizó el java a la última versión 8 anteriormente fue 7 y luego ir a OPEN MODULE SETTING haciendo clic derecho en proj ect y cambió la ruta jdk a / usr / lib / jvm / java-8-oracle el nuevo java 8 instalado. Y reinicie el estudio

    Check in / usr / lib / jvm para el nombre de la carpeta java 8

    Estoy usando ubuntu Introduzca aquí la descripción de la imagen

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.