¿Qué es exactamente framework-res.apk?

9

Por lo que yo entiendo, es un gran archivo de sistema que aparentemente controla una gran parte del teléfono. Estoy interesado porque quería hacer algunos temas y hasta ahora había editado SystemUI.apk, pero si alguna vez me encontré con algún problema (y ser un principiante que iba a suceder) nada parecía suceder aparte del 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 siquiera arrancar su teléfono. Decidí que, antes de jugar descuidadamente con algo que pudiera bloquear 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 sucederle potencialmente a mi teléfono si algo falla con framework-res? ¿Algo más que deba saber antes de meter la nariz donde no debería estar?

Sean
fuente

Respuestas:

8

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.

Metiendo en este archivo significaría cambiar el aspecto completo 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, este apk debe modificarse y reemplazarse cuidadosamente 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 (Theming the UI)

SamSPICA
fuente
3

Desde mi experiencia en codificación, puedo decir lo siguiente según mi entendimiento:

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. Generalmente, a cada recurso se le dará un identificador a través de la carga de los otros módulos y simplemente asumirán o darán por sentado que dicho recurso estará disponible en este archivo.

En general, 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 recompilar si no se hace con cuidado hará que framework-res.apk sea incompatible con sus módulos consumidores. Dependiendo de cómo se implementen las cosas, se saldrá con la suya un error, pero los desarrolladores no pueden esperar verificar todo y tienen que dar ciertas cosas por sentado (como la presencia de un recurso, ya que son ellos quienes lo plantaron). Por lo tanto, por lo general, 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 este apk.

Narayanan
fuente
0

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 el bootloop. Si desea cambiar otras cosas en framework-res.apk: "que arrastre la carpeta meta-inf y androidmanifest.xml de la apk original a la apk modificada usando 7zip o winrar"

En framework-res.apk puede cambiar algunas ideas como nivel de protección, etc. es interesante: https://www.reddit.com/r/LineageOS/comments/9z728h/how_to_change_frameworkresapk_without_bootloop/

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 archivo update.zip: /programming/9475576/resigning-system-img-on-a-device

andromade7
fuente