try studio catch android android-studio runtimeexception

studio - exception en android



Error: ejecuciĆ³n fallida para la tarea '': app: transformClassesWithDexForDebug'' en android studio (15)

Moví mis proyectos de eclipse a Android Studio. Mientras ejecuto una de mi aplicación, aparece el siguiente error. No puedo encontrar ninguna solución. También he habilitado multidex.

Error: ejecución fallida para la tarea '': app: transformClassesWithDexForDebug''. com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Proceso ''comando'' C: / Archivos de programa / Java / jdk1.7.0_79 / bin / java.exe '''' terminado con un valor de salida distinto de cero 1

también mi archivo gradle está debajo

apply plugin: ''com.android.application'' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.myapp" minSdkVersion 9 targetSdkVersion 21 multiDexEnabled true }buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(''proguard- android.txt''), ''proguard-project.txt'', ''proguard-google-api-client.txt'' } } } dependencies { compile ''com.android.support:support-v4:23.4.0'' compile ''com.google.android.gms:play-services:+'' compile ''com.google.http-client:google-http-client-gson:1.20.0'' compile ''com.google.code.gson:gson:2.1'' compile ''com.android.support:appcompat-v7:23.4.0'' compile files(''libs/activation.jar'') compile files(''libs/additionnal.jar'') compile files(''libs/android-support-v7-cardview.jar'') compile files(''libs/android-support-v7-recyclerview.jar'') compile files(''libs/commons-logging-1.1.1.jar'') 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-appengine:1.18.0-rc'' compile ''com.google.http-client:google-http-client:1.18.0-rc'' compile ''com.google.http-client:google-http-client-android:1.18.0-rc'' compile ''com.google.http-client:google-http-client-appengine:1.18.0-rc'' compile ''com.google.oauth-client:google-oauth-client:1.18.0-rc'' compile ''com.google.oauth-client:google-oauth-client-appengine:1.18.0-rc'' compile files(''libs/google-api-client-gson-1.18.0-rc.jar'') compile files(''libs/google-api-client-jackson2-1.18.0-rc.jar'') compile files(''libs/google-api-client-java6-1.18.0-rc.jar'') compile files(''libs/google-api-client-servlet-1.18.0-rc.jar'') compile files(''libs/google-http-client-jackson2-1.18.0-rc.jar'') compile files(''libs/google-http-client-jdo-1.18.0-rc.jar'') compile files(''libs/google-oauth-client-java6-1.18.0-rc.jar'') compile files(''libs/google-oauth-client-jetty-1.18.0-rc.jar'') compile files(''libs/google-oauth-client-servlet-1.18.0-rc.jar'') compile files(''libs/GraphView-4.0.1.jar'') compile files(''libs/httpclient-4.0.1.jar'') compile files(''libs/httpcore-4.0.1.jar'') compile files(''libs/jackson-core-2.1.3.jar'') compile files(''libs/jetty-6.1.26.jar'') compile files(''libs/jetty-util-6.1.26.jar'') compile files(''libs/jsr305-1.3.9.jar'') compile files(''libs/jxl.jar'') compile files(''libs/mail.jar'') compile files(''libs/transaction-api-1.1.jar'') }


Error: ejecución fallida para la tarea '': app: transformClassesWithDexForDebug''. com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Proceso ''comando'' C: / Archivos de programa / Java / jdk1.7.0_79 / bin / java.exe '''' terminado con un valor de salida distinto de cero 1

El error superior ocurre debido a muchas razones. Entonces puedo explicar por qué ocurre este error y cómo resolverlo.

RAZÓN 1: Duplicado del nombre del archivo de la clase

SOLUCIÓN:

cuando refactorice algunos de sus archivos de clase a un proyecto de biblioteca. y esa vez escribes el nombre del archivo de la clase. Por lo tanto, verifica que no tengas ningún nombre duplicado

Razón 2: cuando tienes mucha memoria caché

SOLUCIÓN:

En algún momento si tienes mucha memoria caché, entonces este error ocurre, así que resuélvelo. ve a File/Invalidate caches / Restart luego selecciona Invalidate and Restart limpiará tu memoria caché.

RAZÓN 3: Cuando hay un error interno o versión beta utilizada para volver a la versión estable.

SOLUCIÓN:

La solución es sencilla: vaya al menú Compilar y haga clic en Clean Project y, después de limpiar, haga clic en Rebuild Project .

RAZÓN 4: Cuando la memoria de la configuración del sistema es baja.

SOLUCIÓN:

abra el Administrador de tareas y detenga la otra aplicación que no se usa más en ese momento, por lo que liberará el espacio y resolverá OutOfMemory .

RAZÓN 5: El problema es que su método cuenta ha excedido de 65K.

SOLUCIÓN:

abra su archivo Project build.gradle add

defaultConfig { ... multiDexEnabled true }

y en las dependencias agregue debajo de la línea.

dependencies { compile ''com.android.support:multidex:1.0.0'' }


** En mi caso problema resuelto con Instant Run DISABLE **


Clases de nombres duplicados

me gusta

class BackGroundTask extends AsyncTask<String, Void, Void> {

y

class BackgroundTask extends AsyncTask<String, Void, Void> {


En mi caso, tuve 2 proyectos A y B Y actualicé a gradle 4.5 .

A dependía de B pero ambos tenían referencias de mi 3rd party jar

Estaba recibiendo este error

com.android.tools.r8.errors.CompilationError: tipo de programa ya presente: com.mnox.webservice.globals.WebServiceLightErrorHashCode

Tipo de programa ya presente: com.mnox.webservice.globals.WebServiceLightErrorHashCode

Arreglarlo

  1. Eliminé el jarro duplicado
  2. Usé la api en el archivo B build.gradle para que se haga referencia a ella en A

La otra causa raíz puede ser si ha actualizado a gradle 4.5 y utilizado la implementation lugar de api en su commons build.gradle


Esto puede deberse a la siguiente razón:

  1. uno de los archivos jar dentro del proyecto estaba usando una versión anterior de los servicios de google play.

  2. use multiDexEnabled true en defaultconfig

  3. Sea específico con las clases que agrega en dependencias. me gusta

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

No es como compilar ''com.google.android.gms:play-services:+''


Gracias a @Ironman por su respuesta completa, sin embargo, debo agregar mi solución de acuerdo con lo que he experimentado al enfrentar este problema.

En build.gradle (Módulo: aplicación):

compile ''com.android.support:multidex:1.0.1'' ... dexOptions { javaMaxHeapSize "4g" } ... defaultConfig { multiDexEnabled true }

Además, ponga lo siguiente en el archivo gradle.properties:

org.gradle.jvmargs=-Xmx4096m -XX/:MaxPermSize/=512m -XX/:+HeapDumpOnOutOfMemoryError -Dfile.encoding/=UTF-8

Debo mencionar, estos números son para mi configuración de portátil (MacBook Pro con 16 GB de RAM) por lo tanto, edítelos como su configuración.


He probado este para más proyectos y funcionó para mí. tenga en cuenta que la solución puede configurar su aplicación para multidex:

android { compileSdkVersion 25 buildToolsVersion "25.0.1" defaultConfig { ... minSdkVersion 9 targetSdkVersion 25 } buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.txt'' } }} dependencies { compile ''com.android.support:support-v4:25.1.0'' compile ''com.google.android.gms:play-services:8.3.0'' ... }


He probado este y funcionó para mí. Espero que funcione para otros también.

  1. Abra el archivo del módulo build.gradle
  2. rebaja tu versión de SDL de 25 a 24 o 23
  3. agregar ''multiDexEnabled true''
  4. Comente esta línea: compile ''com.android.support:appcompat-v7:25.1.0'' (si está en ''dependencias'')
  5. Sincronice su proyecto y listo para funcionar.

Aquí he adjuntado una captura de pantalla para explicar las cosas. Sigue estos pasos

feliz de ayudar.

Gracias.


Intenté todo, pero aún así este error no irá, hasta que cambie mi versión de JDK .

Mi versión JDK fue 7, y después de que lo cambié a 8, el error desapareció, puedes probarlo si nada funciona.


Marque si Multidex está habilitado o no en su build.gradle (nivel de la aplicación) en dependencias. Si no lo coloca como se muestra a continuación

dependecies{ multidexEnabled true }

Compruebe su gradle.properties (nivel de la aplicación) .si ve el código a continuación

#org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

eliminar # antes de la línea, entonces debería ser así

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8


Mi configuración Captura de pantalla:

Gracias a esta publicación

Simplemente apague la ejecución instantánea en su configuración. Puede buscar fácilmente la palabra clave "instantánea" como mostré y cambiaría a la ventana que desea.


O puedes probar esto -

Extend your Application class with MultiDexApplication instead of Application !


Por favor agregue esto en su archivo gradle

android { ... defaultConfig { ... multiDexEnabled true } }

Y también agrega la dependencia a continuación en tu gradle

dependencies { compile ''com.android.support:multidex:1.0.1'' }

O bien, otra opción sería: en su archivo de manifiesto, agregue el paquete MultiDexApplication de la biblioteca de soporte multidex en la etiqueta de la aplicación.

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest>


Solo vale la pena mencionar que, aunque otros sugieren que se atempere con los archivos, pude resolver este problema instalando un complemento faltante (marco iónico)

Espero que ayude a alguien.

plugin cordova agregar cordova-support-google-services --save


Una solución temporal es colocar el siguiente código en el módulo build.gradle :

android { aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false }

Y sincroniza el proyecto.