Según mi experiencia, este problema suele producirse como resultado de permisos defectuosos (o incorrectos) en la caché dalvik.
¿Cómo funciona la optimización?
Cuando el sistema Android está "optimizando aplicaciones/sistema", estará creando una versión optimizada de cada aplicación. Este proceso hace que cada aplicación se inicie tan más rápido posible con la nueva versión de Android.
Cuando un .apk
se añade a un sistema Android, se convierte en un archivo odex (Optimised Dalvik Executable) cuya función es principalmente ahorrar espacio. A diferencia del archivo odex, un archivo deodexed tiene esencialmente todas las partes ensambladas en un solo lugar en classes.dex
archivos (sólo Dalvik Executable)
Android utiliza Android Runtime (ART) para ejecutar las aplicaciones (en ealier versiones de Android - Máquina virtual Dalvik para mantener la compatibilidad compatibilidad, ART utiliza el mismo bytecode de entrada que Dalvik, suministrado a través de la norma .dex
como parte de los archivos APK , mientras que el .odex
se sustituyen por ejecutables en formato ejecutable y enlazable (ELF) ejecutables).
Ahora, cuando un sistema basado en Android está arrancando, la caché dalvik para la Dalvik VM se construye utilizando estos archivos .odex, lo que permite que el sistema operativo aprenda de antemano qué aplicaciones se cargarán, y así se acelera el proceso de arranque.
Situaciones en las que surge el problema
-
Después de una actualización de una versión de Android, el problema puede surgir si el sistema Android está tratando de crear una nueva caché dalvik para las aplicaciones, pero el todavía tiene la "vieja caché" para dicha aplicación, por lo tanto, trata de crear constantemente una nueva caché en la parte superior de la antigua.
-
Un archivo odex "usado" sigue estando presente aunque esa aplicación en particular esté desoxidada. Algunas aplicaciones (por ejemplo, Link2sd, Lucky Patcher, Titanium backup, etc.) que integran la caché dalvik en la partición del sistema pueden causar estos problemas. En un caso, resultó cuando Titanium backup creó un parche que creó un .odex
archivo en /system/apps
. este problema resultó.
-
El rooting/desenraizamiento del dispositivo puede dar lugar a la modificación de los datos en la caché dalvik de una determinada aplicación, de manera que cuando se produce el cambio de estado (del rooting o de desenraizamiento a la inversa), sigue intentando realizar la optimización de la(s) aplicación(es).
Posibles soluciones
- Borrado de datos y caché
No. Puedes probar a borrar la partición de caché:
-
Apague su dispositivo
-
Pulse una combinación de Vol + + Vol - + Power key y manténgalos pulsados.
-
Libere sólo el Power cuando el dispositivo vibra
-
Suelte los otros botones cuando el Menú de recuperación aparece la pantalla
-
Utilizando el Vol + / Vol - para navegar, seleccione Borrar la partición caché
-
Pulse el botón Power key que actuará como la tecla enter de su teclado.
-
Espere a que termine el proceso.
-
A continuación, puede reiniciar el dispositivo y ver si sus problemas se han solucionado
- Restablecer los permisos de la caché de dalvik
Otro usuario ha ofrecido una explicación concisa :
Este problema se produce cuando hay .odex
archivos en /data/app
que tener permisos establecidos para que el sistema no pueda escribir en ellos durante el proceso de optimización.
En este caso, establecer los permisos correctos puede resolver este asunto:
- Establecer los permisos correctos, es decir
rw- r-- r--
para los archivos odex en /data/app
( o /system/app
) carpeta
Varios usuarios han sugerido utilizar este método empleando un explorador de archivos para eliminar la carpeta:
Utilice un explorador de archivos con acceso Root o adb shell y borre la carpeta dalvik-cache que se encuentra dentro de /data
(o rm -r -f /data/dalvik-cache
desde el shell adb)
-
Desinstalación de aplicaciones problemáticas
- Intenta deshacerte de los posibles culpables, especialmente de aquellos que requieren Root, simplemente desinstalando dichas aplicaciones.
- Alternativamente, pruebe a desodexar las aplicaciones con una herramienta adecuada, para permitir que la máquina virtual de Android vuelva a optimizar las aplicaciones en el siguiente reinicio.
Para muchos usuarios es el archivo de copia de seguridad de titanio de la aplicación odex que causa el pero puede haber otros programas.
-
Reflasheo de la ROM original
- Si ninguno de estos parece arreglar el problema, entonces usted podría tener la mayor probabilidad de arreglar el problema por reflashing su dispositivo con la ROM de valores.
- Obtenga el archivo ROM de stock apropiado y reflash para borrar esencialmente todo y reescribir las particiones con "datos frescos" ¡Tenga en cuenta la copia de seguridad de los datos importantes primero!
Referencias