1 votos

/data/system/packages.xml no se actualiza después de instalar/desinstalar aplicaciones. ¿Es eso lo que se espera?

Estoy usando una placa Android con una ROM personalizada basada en Android 4.4.2. Estaba intentando anular una aplicación /system/priv-app/ instalando una versión actualizada en la partición normal.

Mientras probaba me di cuenta de que la anulación sólo se mantiene hasta el reinicio, así que empecé a indagar en el código fuente de AOSP y me encontré con la llamada a disableSystemPackageLPw que a su vez llama a writeLPr .

Si writeLPr espero ver mi paquete en el archivo "/data/system/packages.xml". Sin embargo, ese no es el caso aquí y por lo tanto sospecho que es la causa principal.

Sería estupendo conocer la opinión sobre el uso esperado de packages.xml de los usuarios de la comunidad para confirmar lo mismo.

1 votos

No me lo creo. ¿De dónde saca el sistema el apk antiguo después de haberlo sustituido?

1 votos

Como dijo @alecxs eso no debería ocurrir porque el nuevo apk se guarda inmediatamente en /data/app en la actualización. Los ajustes pueden estar almacenados en la caché durante algún tiempo. Intenta borrar los datos de la aplicación después de la actualización. O forzar la escritura pm de los datos en caché: dumpsys package write .

0 votos

@alecxs El apk antiguo sigue en /system/priv-app. Basado en lo que leí en el código de escaneo de PackageManager. Se escanea el sistema de archivos para las rutas /system/priv-app, /system/app, /vendor/app y /data/app para registrar los paquetes instalados después del arranque. Dado que system/priv-app se escanea primero, el apk antiguo obtiene el oackage registrado y el apk en /data se trata como duplicado. Obtengo un registro que dice "Skipping duplicate package" en logcat desde la etiqueta "PackageManager",

1voto

Pavel Puntos 138

Según el código de Android. (AOSP) packages.xml necesita tener la entrada para los paquetes instalados para retener cualquier tipo de configuración/sobreescritura/actualización que hagamos.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X