No se puede subir la aplicación de Android al dispositivo (frascos de dexed rancio)

Estoy utilizando Android Studio para desarrollar esta aplicación, y hoy, cuando traté de subirlo a mi dispositivo para probar Tengo una ventana emergente diciendo:

Se ha producido un error en la instalación, ya que el dispositivo posiblemente tiene tarros duros dexados que no coinciden con la versión actual (error dexopt). Para proceder, tienes que desinstalar la aplicación existente.

ADVERTENCIA: ¡La desinstalación eliminará los datos de la aplicación!

¿Desea desinstalar la aplicación existente?

Dio dos opciones, OK o Cancelar. Al pulsar Aceptar, aparece el siguiente mensaje en la pestaña Ejecutar:

DEVICE SHELL COMMAND: pm uninstall my.bundle.id
Unknown failure

La aplicación parece estar desinstalada, no hay rastro de ello en Administrar aplicaciones.
No puedo subir la aplicación. Traté de limpiar el proyecto y reconstruir, pero no funcionó.

¿Que puedo hacer?

Inhabilité la ejecución instantánea para este proyecto y el problema resuelto.

Tal vez sea un error en la función de ejecución instantánea de la vista previa de Android studio 2.0.

Instant Run es una nueva característica introducida en Android Studio 2.0.

Ps: en caso de que no encuentres Instant run, está en:

 Android Studio --> Preferences --> Build, execution, deploy --> Instant run. 

O puede buscarlo en la pestaña de preferencias.

Vaya a AVD Manager, luego en la sección de acción de su dispositivo, seleccione wipe data. Esto funcionó para mí, espero que ayude ….

Descubrí que el archivo dex era más grande que el búfer, aunque contenía menos de 64k métodos. Luego habilité ProGuard y ayudó mucho a reducir el tamaño del archivo dex.

La aplicación dex-method-counts ayuda mucho a depurar su archivo dex, comprobando no sólo el número de métodos, sino el paquete al que pertenecen

Descubrí que mi problema era causado por la versión antigua de las herramientas de compilación del SDK, que estaba causando la falla de Clean. He actualizado mis herramientas de construcción de SDK a la versión más reciente y después de que la limpieza funcionó, y ya no recibió el error de tarro dexed rancia. Esperemos que esto ayude a alguien más luchando con este problema.

Esto funcionó para mí:

En Android Studio esto se puede hacer haciendo clic en Build> Clean Project . SysadminTips

También he encontrado este problema en Android Studio, desde la versión 2.0 Preview 6 hasta 2.0 Beta 3 y ninguna de las soluciones mencionadas aquí funcionó para mí.

Apareció que no tenía nada que ver con Instant Ejecutar. Todo lo que tenía que hacer era aumentar el almacenamiento interno del AVD hasta que desapareciera la siguiente notificación. También tuve que realizar un borrado de datos después de cambiar los valores.

Introduzca aquí la descripción de la imagen

En mi proyecto superé esto al ser más específico acerca de qué partes de Google Play Services estaba vinculando. En particular, he cambiado

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

a

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

En build.gradle de mi módulo de aplicación, ya que todo lo que realmente estaba usando era la API de mapas.

Lo que hice fue modificar el archivo build.gradle (Module: app).

Inicialmente fue

 buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

Lo cambié a

  buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

A continuación, reconstruir y desplegar!

Cuando su archivo dex se vuelve más grande que el tamaño del búfer (es decir, contiene más de 65k métodos), entonces este error se produce. Puede evitar este error de dos maneras: 1.) Quite el código no utilizado con ProGuard: configure la configuración de ProGuard para que su aplicación ejecute ProGuard y asegúrese de que ha activado la reducción de compilaciones de liberación. Habilitar encogimiento garantiza que no está enviando código no utilizado con sus APK.

2.) Puede configurar su aplicación para soporte multidex. Consulte este enlace para usarlo: https://developer.android.com/tools/building/multidex.html

Para el soporte multidex, anule este método en mi clase de aplicación:

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

Y modificar mi build.gradle como este:

 android { compileSdkVersion 21 buildToolsVersion "21.1.1" defaultConfig { minSdkVersion 14 //lower than 14 doesn't support multidex targetSdkVersion 21 // Enabling multidex support. multiDexEnabled true } } dependencies { compile 'com.android.support:multidex:1.0.0' } 

¡Espero eso ayude!

EDITOS: Tomó la explicación de texto del código.

En mi caso fue porque mi emulador estaba lleno de aplicaciones. Vi cuánto espacio tenía el emulador y casi no había nada así que eliminé algunas aplicaciones y con esto mi problema se resolvió

Si está utilizando la vista previa de Android studio 2.0, desactive la ejecución instantánea.

Todo el crédito y las gracias van para el protector de vida https://stackoverflow.com/a/34192979/1413998

Ninguna de las respuestas no resolvió mi problema

También debe hacer progaurd para depurar también. Sólo tiene que agregar buildtypes a su archivo gradle principal:

 buildTypes { debug { // change release to debug minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } 

En mi caso fue causado por un archivo llamado "dictionary.txt". Acabo de eliminarlo y resolvió el problema.

  • Cómo configurar el número de versión de la aplicación en Android Studio
  • Android Studio Maps Api v2
  • ¿Cómo ejecutar una prueba JUnit4 simple en Android Studio 1.1?
  • Error (1,1) ilegalcharacter '\ ufeff' al compilar en android studio
  • Cómo obtener pruebas simples de JUnit para ejecutarse en Android Studio
  • Aplicar plugin: 'android' o aplicar plugin: 'com.android.application'
  • Error de Android No, minSdk (API 19)> deviceSdk (API 1)
  • Cambiar ubicación predeterminada de los proyectos (o área de trabajo) en Android Studio
  • Recyclerview agregar datos a la parte superior sin desorden?
  • Cambiar fuente del editor de Android Studio por Mac?
  • Cómo configurar la ruta de Java SDK en AndroidStudio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.