¿Qué es exactamente framework-res.apk?

Según tengo entendido, es un gran archivo de sistema que aparentemente controla una gran parte del teléfono. Estoy interesado porque quería hacer algo de creación de temas y hasta ahora había editado SystemUI.apk, pero si alguna vez me encontraba con algún problema (y siendo un principiante eso tenía que pasar) parecía que no pasaba nada más que el hecho de que perdí. mi barra de notificaciones.

El problema es que he oído hablar de algunas personas que tocaron framework-res.apk y terminaron sin poder ni siquiera iniciar su teléfono. Decidí que antes de hurgar descuidadamente con algo que podría dañar mi teléfono, me gustaría aprender un poco más al respecto.

Entonces, ¿qué es exactamente framework-res.apk? ¿Para qué se usa esto? ¿Qué controla? ¿Dónde vemos visualmente su uso? ¿Qué podría pasarle a mi teléfono si algo sale mal con framework-res? ¿Algo más que deba saber antes de meter la nariz donde no debería estar?

Respuestas (3)

Framework-res.apkbásicamente contiene los elementos de la interfaz gráfica de usuario para el teléfono. Este archivo está disponible en /system/framework/framework-res.apk.

Meter este archivo significaría cambiar la apariencia completa de su dispositivo. Dado que es el elemento principal de su pantalla, reemplazarlo directamente empujándolo a través de ADB conduciría a un ladrillo blando. Por lo tanto, esta aplicación debe modificarse y reemplazarse con cuidado utilizando el módulo de recuperación del teléfono.

Consulte este enlace para obtener detalles sobre el mismo: Modificación de framework-res.apk (Tematización de la interfaz de usuario)

Desde mi experiencia de codificación, puedo decir lo siguiente según tengo entendido:

Si está familiarizado con las terminologías de desarrollo de aplicaciones, este framework-res.apk es solo una biblioteca de recursos. Continuando con esa suposición, otros módulos, bibliotecas dependen de este archivo para obtener imágenes, sonido, etc. Por ejemplo, el sonido de la animación de arranque está incrustado en este archivo. Cada recurso generalmente recibirá un identificador a través de la carga de otros módulos y simplemente asumirán o darán por sentado que dicho recurso estará disponible en este archivo.

Generalmente habrá un archivo de manifiesto que indexará todos los recursos (imágenes, sonidos, etc.) contra su identificador. Los segmentos de código que mapean los recursos contra su identificador y que obtienen el recurso solicitado se compilarán contra una plataforma/versión/biblioteca y, por lo tanto, ajustar y volver a compilar, si no se hace con cuidado, hará que framework-res.apk sea incompatible con sus módulos de consumo. Dependiendo de cómo se implementen las cosas, se saldría con la suya con un error, pero los desarrolladores no pueden esperar verificar todo y tienen que dar ciertas cosas por sentadas (como la presencia de un recurso, ya que son ellos quienes lo plantaron). Por lo tanto, generalmente el módulo de consumo se congela y, por lo tanto, todo el teléfono parece estar congelado, ya que los módulos del sistema también dependen de esta aplicación.

Si desea cambiar el archivo AndroidManifest.xml de framework-res.apk, creo que debe firmar todas las aplicaciones del sistema con su propia clave para evitar bootloop. Si desea cambiar otras cosas en framework-res.apk: "que arrastre la carpeta meta-inf y androidmanifest.xml desde el apk original al apk modificado usando 7zip o winrar"

En framework-res.apk, puede cambiar algunos pensamientos como el nivel de protección, etc.

Mis errores cuando firmo todas las aplicaciones del sistema con mi clave: No puedo volver a firmar la aplicación del sistema Android sin que la aplicación se bloquee (usando LineageOS)

No se puede volver a firmar la aplicación del sistema Android sin que la aplicación se bloquee (usando LineageOS)

Tiene problemas similares y creó un update.zip: https://stackoverflow.com/questions/9475576/resigning-system-img-on-a-device