java - services - com.android.build.transform.api.TransformException
google sign in android (24)
Lo resolví con el siguiente:
Configuré multidexEn build.gradle necesitas agregar el siguiente.
android {
...
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
...
}
dexOptions {
incremental true
maxProcessCount 4 // this is the default value
javaMaxHeapSize "2g"
}
...
}
dependencies {
...
compile ''com.android.support:multidex:1.0.1''
...
}
Agregue el siguiente en local.properties
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Después de eso en la clase de aplicación, también debe agregar Multidex.
public class MyApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
//mas codigo
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
No olvide agregar el código de línea en Manifest.xml
<application
...
android:name=".MyApplication"
...
/>
Eso es suficiente para resolver el error: la ejecución falló para la tarea '': aplicación: transformClassesWithDexForDebug. Compruebe muy bien en build.gradle con javaMaxHeapSize "2g" y las local.properties org.gradle.jvmargs = -Xmx2048m son de 2 gigabytes.
Estoy tratando de integrar el inicio de sesión de Google, en mi aplicación, agregué estas bibliotecas:
compile ''com.google.android.gms:play-services-identity:8.1.0''
compile ''com.google.android.gms:play-services-plus:8.1.0''
también agregue esto al proyecto construir gradle:
classpath ''com.google.gms:google-services:1.4.0-beta3''
también agregue el complemento a la aplicación de construcción gradle:
apply plugin: ''com.google.gms.google-services''
luego agrego los permisos requeridos, pero cuando intento ejecutar mi aplicación, recibo este error:
Error:Execution failed for task '':app:transformClassesWithDexForDebug''.
com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process ''command ''C:/Program Files/Java/jdk1.8.0/bin/java.exe'''' finished with non-zero exit value 2
Cambié un par de png y el número de compilación en el gradle y ahora obtengo esto. Ninguna cantidad de limpieza y reinicio ayudó. Desactivar Instant Run lo arregló para mí. YMMV
En caso de que ''Instant Run'' esté habilitado, simplemente deshabilítelo.
En mi caso, cambie buildToolsVersion de "24" a "23.0.2", resuelva el problema.
En mi caso, la excepción se produjo porque todas las extensiones de servicio de Google Play no tienen la misma versión de la siguiente manera
compile ''com.google.android.gms:play-services-plus:9.8.0''
compile ''com.google.android.gms:play-services-appinvite:9.8.0''
compile ''com.google.android.gms:play-services-analytics:8.3.0''
Funcionó cuando cambié esto a
compile ''com.google.android.gms:play-services-plus:9.8.0''
compile ''com.google.android.gms:play-services-appinvite:9.8.0''
compile ''com.google.android.gms:play-services-analytics:9.8.0''
Este error comenzó a aparecer para mí cuando agregué algunos métodos nuevos a mi proyecto. Sabía que no estaba cerca del límite del método de 65k y no quería habilitar el soporte multiDex para mi proyecto si pudiera ayudarlo.
Lo resolví aumentando la memoria disponible para la tarea
:app:transformClassesForDexForDebug
.
Hice esto especificando
javaMaxHeapSize
en
gradle.build
.
gradle.build
android {
...
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
}
Intenté esto después de no haber tenido éxito con otras soluciones comunes a este problema:
-
Ejecutando un proyecto
clean
-
Eliminar manualmente los directorios
/app/build
y/build
de mi proyecto - Invalidar Gradle Cache y reiniciar Android Studio
Error
Error: Error de ejecución para la tarea> '': aplicación: transformClassesWithDexForDebug''. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ''command'' /Library/Java/JavaVirtualMachines/jdk1.8.0_45. jdk / Contenido / Inicio / bin / java '''' terminado con un valor de salida distinto de cero 1
Nota: aumentar la memoria disponible para la tarea DEX puede causar problemas de rendimiento en sistemas con un link memoria inferior.
Estoy usando AS 1.5.1 y encontré el mismo problema. Pero simplemente limpiar el proyecto simplemente no funciona, así que intenté algo.
- proyecto limpio
- reiniciar AS
- Proyecto de sincronización
Esto funcionó conmigo, así que espero que esto ayude.
Intente agregar
multiDexEnabled true
a su aplicación
build.gradle
file.
defaultConfig {
multiDexEnabled true
}
EDITAR:
Prueba la
answer
de Steve primero.
En caso de que ocurra con frecuencia o el primer paso no ayudó,
multiDexEnabled
podría ayudar.
Para aquellos que aman profundizar aquí, hay un par de problemas similares (con más respuestas):
: app: dexDebug ExecException finalizó con un valor de salida distinto de cero 2
Error: Error de ejecución para la tarea '': aplicación: dexDebug''. com.android.ide.common.process.ProcessException
Me pasó por la pérdida de memoria de Eclipse. Tuve que reiniciar mi computadora.
Otra cosa a tener en cuenta es que no usas
compile ''com.google.android.gms:play-services:8.3.0''
Eso importará TODOS los servicios de juego, y solo tomará poco más que un mundo hola para superar el límite del método 65535 de un solo APK dex.
Siempre especifique solo los servicios que necesita, por ejemplo:
compile ''com.google.android.gms:play-services-identity:8.3.0''
compile ''com.google.android.gms:play-services-plus:8.3.0''
compile ''com.google.android.gms:play-services-gcm:8.3.0''
Primero elimine los archivos intermedios SU CARPETA DE APLICACIONES / app / build / intermediarios O Limpie su proyecto y luego reconstruya.
Luego añadir
multiDexEnabled true
es decir
defaultConfig {
multiDexEnabled true
}
Es trabajo para mi
Si está utilizando la última versión de gradle, es decir,
classpath ''com.android.tools.build:gradle:1.5.0'' and classpath ''com.google.gms:google-services:1.4.0-beta3''
, intente actualizar la última versión admite repositorio desde el administrador de SDK y reconstruye todo el proyecto.
Si las diferentes dependencias tienen un mismo jar también causan este error de compilación.
Por ejemplo:
compile(''com.a.b:library1'');
compile(''com.c.d:library2'');
Si "library1" y "library2" tienen un mismo jar llamado
xxx.jar
, esto generará dicho error.
Si necesita agregar esta referencia para el complemento cordova, agregue la siguiente línea en su archivo plugin.xml.
<framework src="com.android.support:support-v4:+" />
Simplemente vaya a Compilar - Editar tipos de compilación - Pestaña Propiedades - Versión de tipo de compilación y rebaje a la versión 23.0.1. Haga clic en Aceptar. Esto funciona para Android Studio 1.5. Funcionó para mi.
Solo tuve que limpiar mi proyecto y luego se construyó con éxito después.
También enfrenté un problema similar en Android Studio 1.5.1 y gradle 1.5.0. Solo tengo que eliminar las bibliotecas no deseadas de las dependencias que pueden agregarse automáticamente en el archivo build.gradle de mi aplicación. Uno fue: compile ''com.google.android.gms: play-services: 8.4.0''. Por lo tanto, para las mejores prácticas, intente incluir solo una biblioteca de servicios de reproducción específica, como para los anuncios que incluyen
dependencies {
compile ''com.google.android.gms:play-services-ads:8.4.0''
}
A pesar de que
defaultConfig {
multiDexEnabled true
}
esto también resolverá el problema, pero proporciona muchas notas en la consola gradle, lo que hace que sea confuso encontrar los otros problemas reales durante la compilación
Tenía la misma opción y tan pronto como apagué la ejecución instantánea, funcionó bien en mi dispositivo API16, pero en el dispositivo API24 funcionó bien con la ejecución instantánea.
Espero que esto ayude a alguien que tiene el mismo problema
Tuve el mismo problema cuando volví a la versión anterior a través de git, y esa versión tenía una biblioteca .jar anterior de una API de terceros, y por alguna razón resultó que ambos jar del mismo sdk, solo versiones diferentes estaban en la carpeta / libs .
este código solucionó el problema
defaultConfig {
multiDexEnabled true
}
Para ver la forma más fácil de implementar el inicio de sesión de Google, visite: inicio de sesión de Google Android
Intenta también
dexOptions {
javaMaxHeapSize "4g"
}
También mantenga el mismo número de versión para diferentes servicios.
la respuesta de escritura está en gradle put defaultConfig {multiDexEnabled true} y luego el nombre de la aplicación en manifiesto android: name = "android.support.multidex.MultiDexApplication" deseo que esta respuesta sea muy útil para alguien
puedes ver la documentación de Android
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile ''com.android.support:multidex:1.0.0''
}
Manifest.xml
<?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>
build.gradle
este problema agregando: En
build.gradle
:
defaultConfig {
multiDexEnabled true
}
en
local.properties
,
org.gradle.jvmargs=-XX/:MaxHeapSize/=512m -Xmx512m
mencionar dependencia:
compile ''com.android.support:multidex:1.0.1''
Limpiar y reconstruir.
buildToolsVersion
este problema mediante un cambio para usar la última
buildToolsVersion
android {
//...
buildToolsVersion ''26.0.2'' // change from ''23.0.2''
//...
}