support sirve que powder para gel dexoptions application android android-studio android-gradle multidex android-multidex

android - sirve - multidex in kotlin



Error: Error de ejecuciĆ³n para la tarea '': aplicaciĆ³n: transformClassesWithDexForDebug'' (27)

El error

Error: Error de ejecución para la tarea '': aplicación: transformClassesWithDexForDebug''. com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Proceso ''comando'' / usr / lib / jvm / java-8-oracle / bin / java '''' finalizó con un valor de salida distinto de cero 1

Mi archivo gradle de aplicaciones:

apply plugin: ''com.android.application'' apply plugin: ''com.google.gms.google-services'' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId ''Hidden application ID'' minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnabled true } buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } release { minifyEnabled true proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } lintOptions { disable ''InvalidPackage'' } packagingOptions { exclude ''META-INF/services/javax.annotation.processing.Processor'' } productFlavors { } } repositories { mavenCentral() } dependencies { compile fileTree(include: [''*.jar''], dir: ''libs'') compile ''com.android.support:multidex:1.0.1'' compile ''com.android.support:appcompat-v7:23.1.1'' compile ''com.android.support:design:23.1.1'' compile ''com.android.support:cardview-v7:23.1.1'' compile ''com.jakewharton:butterknife:7.0.1'' compile ''com.mcxiaoke.volley:library-aar:1.0.0'' compile ''com.google.android.gms:play-services:8.1.0'' compile ''com.facebook.android:facebook-android-sdk:4.7.0'' compile ''com.googlecode.libphonenumber:libphonenumber:7.2.1'' compile ''com.getbase:floatingactionbutton:1.10.1'' compile ''com.android.support:preference-v7:23.1.1'' }

Durante la depuración, si configuro minifyEnabled en verdadero, entonces se compila. Sin embargo, entonces no puedo depurar mi aplicación.

Revisé esta otra pregunta: La ejecución falló para la tarea '': aplicación: transformClassesWithDexForDebug'' mientras implementaba el inicio de sesión de Google para Android , pero solo hay una respuesta y la implementación no resuelve el problema desafortunadamente.

AFAIK, el error se debe a la adición de demasiadas dependencias de Gradle, pero puedo estar equivocado (¡realmente espero estar equivocado porque todos estos paquetes son realmente importantes!).

Por favor, ayúdame a resolver este error. ¡Muchas gracias!


  1. Ejecutar: plugin cordova rm cordova-plugin-compat --force
  2. Ejecutar: complemento cordova agregar [email protected]
  3. Cambio: config.xml en su carpeta de proyecto use "6.2.3" no "^ 6.2.3", luego elimine la carpeta plataformas / android, vuelva a ejecutar cordova prepare android y cordova build android

Aparentemente resolví el problema combinando todas las soluciones agregando lo siguiente al manifiesto de Android:

<application ... android:name="android.support.multidex.MultiDexApplication" > ... </application>

Siguiendo al módulo de aplicación build.gradle

android { ... dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } ... defaultConfig { multiDexEnabled true } }


Asegúrese de no estar utilizando dos versiones del servicio de Google.

Por ejemplo tener:

compile ''com.google.firebase:firebase-messaging:9.8.0''

y

compile ''com.google.firebase:firebase-ads:10.0.0''


Cambiando

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

solo para los archivos necesarios, el problema puede resolverse. Este problema se genera debido a que se exceden los archivos en el archivo build.gradle.


Entra en Build ->

Proyecto limpio ->

Ejecutar proyecto: hecho

trabajando en Android 5.1 para mí


Entra en Build -> Clean y ejecuta tu aplicación nuevamente


Este es el problema de Multidex. Puede intentar eliminar algo de jar, o puede intentar de esta manera: http://developer.android.com/tools/building/multidex.html#mdex-gradle en la aplicación build.gradle:

defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } dependencies { compile ''com.android.support:multidex:1.0.0'' }

En tu manifiesto:

<?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>


Intente agregar multiDexEnabled true a su aplicación build.gradle file.

defaultConfig { multiDexEnabled true }


La solución que funcionó para mí personalmente fue:

en el build.gradle

defaultConfig { multiDexEnabled true } dexOptions { javaMaxHeapSize "4g" }


Lo solucioné! Es una colección de configuración y actualización. Agregue estas variables donde quepan en build.gradle

android { packagingOptions { exclude ''META-INF/ASL2.0'' exclude ''META-INF/LICENSE'' exclude ''META-INF/NOTICE'' } dexOptions { javaMaxHeapSize "4g" } defaultConfig { multiDexEnabled true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } }

¡Luego actualice a Java 8 http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/ y todo estará resuelto! Se debe a la actualización de buildTools y al nuevo estudio de Android. Nada más fallará.


Mi respuesta es un poco antigua, pero para mí la única solución fue agregar la opción multiDexEnabled en DefaultConfig de esta manera:

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

Si esto no funciona, intente agregar este código:

configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == ''com.android.support'') { if (!requested.name.startsWith("multidex")) { details.useVersion ''26.1.0'' } } } }

Mi error estaba relacionado con un problema con diferentes versiones de bibliotecas y esto hizo el truco.

Espero que esto pueda ayudar a alguien :)


Mueva la declaración de complemento de aplicación en la parte inferior del archivo:

aplique el complemento: ''com.google.gms.google-services''


No hay necesidad de multitex. Para el proyecto "antiguo" abierto en Android Studio 2.1, estaba cambiando la versión del complemento Gradle de 1.5.0 a 2.1.0 que me solucionó el problema.

buildscript { dependencies { classpath ''com.android.tools.build:gradle:2.1.0'' } }


No te vuelvas loco, solo limpio, luego reconstruyo el proyecto y el error desapareció


Para mí, cerrar todos los demás Android Studio resolvió el problema.

Había abierto 3 estudios de Android cuando recibí el error, después de cerrar 2 no recibí ningún error.

¡No es necesario agregar ningún código relacionado con multiDex!


Para todos los que han enfrentado este problema / lo enfrentarán en el futuro:

Haga clic en el menú Generar -> Seleccionar variante de compilación -> restaurar a ''depurar''

Comentario en el módulo depurable: aplicación / * debug {debuggable true} * /

Vaya al menú Generar -> generar apk firmado -> .... -> compilarlo


Recibí este problema cuando actualicé el complemento Gradle de la versión 1.2.3 a la 1.5.0 como sugiere Android Studio. En su página web , 1.5.0 parece ser una versión beta.

Honestamente, no sé qué ventajas tiene la versión 1.5.0, pero prefiero esperar hasta que haya una versión estable.

Por supuesto, volver a 1.2.3 resolvió el problema.


Si se usa java 8 o superior, entonces el problema es que las bibliotecas que usamos son incompatibles con java 8. Entonces, para resolver esto, agregue estas dos líneas a build.gradle de su aplicación y todos los submódulos, si los hay. (Android Studio muestra claramente cómo hacer esto en un mensaje de error)

targetCompatibility = ''1.7'' sourceCompatibility = ''1.7''


Simplemente corrija las dependencias de los servicios de Google Play:

Usted incluye todos los servicios de juego en su proyecto. Solo agrega los que quieras.

Por ejemplo, si está usando solo mapas y g + signin, entonces cambie

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

a

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

Del documento:

En las versiones de los servicios de Google Play anteriores a la 6.5, tenía que compilar todo el paquete de API en su aplicación. En algunos casos, al hacerlo, fue más difícil mantener la cantidad de métodos en su aplicación (incluidas las API de marco, los métodos de biblioteca y su propio código) por debajo del límite de 65,536.

A partir de la versión 6.5, puede compilar selectivamente las API del servicio Google Play en su aplicación. Por ejemplo, para incluir solo las API de Google Fit y Android Wear, reemplace la siguiente línea en su archivo build.gradle:
compile ''com.google.android.gms: play-services: 8.3.0''
con estas líneas:

compile ''com.google.android.gms: play-services-fitness: 8.3.0''
compile ''com.google.android.gms: play-services-wearable: 8.3.0''

Toda la lista se puede encontrar aquí .


Tratar

dexOptions { javaMaxHeapSize "4g" preDexLibraries = false }

No se el motivo. Algo sobre las preDexLibraries : https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/tips

De acuerdo con @ lgdroid57:

El siguiente recurso debería ayudar a explicar lo que hace este código: enlace ( http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html ) Propiedad | Descripción javaMaxHeapSize | Establece el valor -JXmx * al llamar a dx. El formato debe seguir el patrón 1024M. preDexLibraries | Si pre-dex bibliotecas. Esto puede mejorar las compilaciones incrementales, pero las compilaciones limpias pueden ser más lentas.


Tuve este error al ejecutar un proyecto Ionic en un dispositivo Android y lo resolví eliminando y agregando la plataforma Android:

ionic cordova platform remove android ionic cordova platform add android


Tuve este problema cuando delegué mi tarea de compilación en Google Compute Engine a través de SSH. La naturaleza de este problema es un error de memoria, como lo indica el registro de bloqueo; específicamente se produce cuando Java se queda sin memoria virtual para trabajar durante la compilación.

Importante: cuando Gradle se bloquea debido a este error de memoria, los demonios de Gradle siguen funcionando mucho después de que su tarea de compilación haya fallado. Cualquier nuevo intento de construir usando gradle nuevamente asignará un nuevo demonio gradle. Debe asegurarse de deshacerse de las instancias gradlew --stop utilizando gradlew --stop .

Los hs_error_pid bloqueo de hs_error_pid indican las siguientes soluciones:

# There is insufficient memory for the Java Runtime Environment to continue. # Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit # Possible solutions: # Reduce memory load on the system # Increase physical memory or swap space # Check if swap backing store is full # Use 64 bit Java on a 64 bit OS # Decrease Java heap size (-Xmx/-Xms) # Decrease number of Java threads # Decrease Java thread stack sizes (-Xss) # Set larger code cache with -XX:ReservedCodeCacheSize=

Descubrí que después de aumentar los recursos de tiempo de ejecución de la máquina virtual , este problema se resolvió.


Tuve un error similar Lo arreglé simplemente cambiando el directorio. Clonando mi proyecto nuevamente desde mi repositorio git, importándolo a Android Studio y construyéndolo. Parece que uno de los directorios / archivos generados por Android Studio al construir su proyecto puede haberse dañado. Eliminar todos los archivos generados por Android Studio en su proyecto o hacer lo que hice podría resolver el problema. Espero que esto ayude.


Usando iónico, pude corregir este error usando el comando: "cordova clean"


agregue multiDexEnabled true en default config file de default config file de build.gradle como este

defaultConfig { multiDexEnabled true }


simplemente elimine ambas carpetas de build en /android y /android/app

y construir de nuevo con react-native run-android


Posible ayuda

Intenté como último recurso absoluto después de agotar todas las demás opciones

Quité todas las tarjetas de memoria (RAM) pero una. Tengo menos memoria ahora pero está funcionando de nuevo. No puedo pretender saber por qué el proceso de compilación siempre encontró memoria dañada, o si esa es la causa principal al 100%; en otros aspectos, el sistema funcionó bien. Quizás esto sea algo para probar, la mejor de las suertes.