while tutorial support studio ofuscar not minifyenabled merging error could codigo archives android gradle android-sdk-tools google-groups multidex

support - proguard android studio tutorial



Error INSTALL_FAILED_DEXOPT en Android 5.0 en modo de lanzamiento (10)

Este problema podría tener lugar cuando instale el apk debug / release mientras que el apk de relese / debug ya está instalado en su dispositivo / emulator.means si está instalando debug apk mientras el release apk existe o si está instalando el release apk mientras que la depuración está disponible. .so uninatall el apk e instálelo de nuevo

Tengo un problema extraño con INSTALL_FAILED_DEXOPT . Esto ocurre en los dispositivos Android 5.0 en el emulador y en los dispositivos. Y lo extraño es que funciona bien cuando se crea una variante en el modo de depuración.

Si cambio a Release obtengo esta excepción solo en dispositivos 5.0. He revisado a fondo todos los enlaces que están disponibles en google.

  1. Limpie los datos

  2. Compré un nuevo dispositivo donde puedo instalarlo por primera vez, pero aún así tengo el mismo problema.

  3. El proyecto tiene soporte multidex: verdadero en gradle

  4. También intenté cambiar la versión de la herramienta SDK y la versión de la herramienta de compilación a la última, que es 24.4.0.

Yo uso este dispositivo

Cuando construyo en modo liberación, obtengo este error

en la consola

Estos son los tipos de construcción que usamos.

buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-project.txt'' signingConfig signingConfigs.release } debug { applicationIdSuffix ".debug" minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-project.txt'' signingConfig signingConfigs.debug } }

Imagen de las herramientas de SDK utilizadas:

Puedo asegurarle que nunca ha habido una versión instalada del dispositivo. He limpiado todo si ya está instalado.

¿Puede alguien en este mundo ayudarme con este problema? Porque nos está volviendo locos ...


Este problema puede ocurrir debido a sdks no coincidentes entre Android Studio y el proyecto. El proyecto estaba usando un viejo SDK y una vez que hice lo mismo, limpié y reconstruí el proyecto y todo estaba bien.


Esto podría deberse a una versión diferente de las herramientas de compilación de Gradle en su archivo de construcción de Módulo y Proyecto. Asegúrese de que usen la misma versión en ambos archivos, limpios y compilados nuevamente, y debería estar bien.


Intenta desinstalar esta aplicación y todas las demás que tengan tu firma en tu dispositivo. Limpia tu proyecto y reinicia la instalación. Además, debería considerar instalar su aplicación a través de otro medio que ADB, por ejemplo, utilizando Dropbox.


Parece que multidex podría ser su problema. Android maneja esto de forma nativa en los dispositivos Lollipop (que pueden dar cuenta de que algunos dispositivos se comportan correctamente, pero otros tienen problemas), pero usa la biblioteca multidex en dispositivos más antiguos que podría explicar por qué los dispositivos más antiguos se comportan de manera uniforme (ver http://developer.android.com/tools/building/multidex.html ).

¿Estás lo suficientemente cerca del límite de 65 k para poder usar ProGuard o eliminar temporalmente una de tus dependencias de modo que no necesitarías multidex? A pesar de que hay una biblioteca que lo admite, generalmente es una buena idea reducir el recuento de métodos para que no lo necesite. Sé que algunas aplicaciones realmente pueden necesitarlo, pero vale la pena revisar esto primero.

Además, investigue usando los módulos granulares de Google Play Services. Si está incorporando todo el GMS, cambiar a granular incluye puede reducir significativamente el número de métodos: http://android-developers.blogspot.com/2014/12/google-play-services-and-dex-method.html


Reiniciar el emulador desde Android SDK y AVD Manager y seleccionar la opción Eliminar datos de usuario me ha solucionado este problema.


Tengo el mismo problema al probar el código en mi teléfono. Seguí los pasos a continuación

  1. Limpiar y construir el código
  2. Actualice Android Studio a la última versión

Resolvió mi problema y por favor revisa tu caso.


cuando apk instala a android, android ejecuta dex2opt para optimizar. El mensaje de error INSTALL_FAILED_DEXOPT significa que su dispositivo Android no puede optimizar dex. esto puede ocurrir por el tamaño dex. puede encontrar el mensaje de advertencia o mensaje de error "LinearAlloc Limit" en el monitor Android.

si es un problema de tamaño dex. agregar esto a la configuración

afterEvaluate{ tasks.matching { it.name.startsWith(''dex'') }.each { dx -> if(dx.additionalParameters == null){ dx.additionalParameters = [] } //To avoid linearAlloc limit problem on Gingerbread and below dx.additionalParameters += "--set-max-idx-number=50000" dx.additionalParameters += "--minimal-main-dex" }

}

y ejecución instantánea = encendido a apagado


por favor, vea si su aplicación ha sido instalada por error en su cuenta de invitado de su teléfono.

En caso afirmativo, desinstale o elimine desde allí.

Haga esto para todas las cuentas de usuario en su teléfono.

Consejos adicionales:

Build -> Clean project Build -> Rebuild project


afterEvaluate{ tasks.matching { it.name.startsWith(''dex'') }.each { dx -> if(dx.additionalParameters == null){ dx.additionalParameters = [] } //To avoid linearAlloc limit problem on Gingerbread and below dx.additionalParameters += "--set-max-idx-number=65535" dx.additionalParameters += "--minimal-main-dex" } }