¿Dónde puedo encontrar el archivo de diseño de la pantalla de inicio de fábrica?

¿Dónde puedo encontrar el archivo de diseño de la pantalla de inicio de fábrica?

Me gustaría modificar el diseño predeterminado que persistirá después de que haga un restablecimiento completo.

Mejor

Editar

dispositivo: Lenovo A6000, kitkat 4.4.4

rom: rom stok original de Lenovo

iniciador de pantalla de inicio: LenovoLauncher com.lenovo.xlauncher

¡Muchas gracias! Lo que olvidé preguntar: el dispositivo está rooteado, ¿verdad? Sin root, las posibilidades son cero, ya que tendrá que modificar "cosas del sistema" (lo más probable es que el .apkarchivo del iniciador resida en él /system/app, pero es mejor que deje esa parte a aquellos con mayor experiencia que yo).
@Izzy, ¿entonces el diseño predeterminado está codificado en .apk? si soy root
No es exactamente mi área de especialización (no soy un desarrollador), pero ese es el único lugar que tiene sentido para mí, por varias razones: 1) los lanzadores son reemplazables, por lo que, si bien es posible, no tiene mucho sentido difundir la información en todo el sistema; 2) en init, /data/data/<package_name>se creará, pero un restablecimiento de fábrica lo eliminará nuevamente. Entonces, ¿de dónde vendrá? Un lanzador es una "aplicación normal", incluso si se instala como aplicación del sistema. No me gustaría que eso se "mezcle" con otros componentes del sistema operativo.
@Izzy ¡Buen consejo! Extendí la teoría basada en ella con un poco de respaldo aquí y allá en mi respuesta.-
Bien hecho, @Firelord (+1 en ambos extremos). Dicho esto, vamos a "límite" ahora, entonces, lobi, preguntar cómo cambiar eso probablemente iría más allá del alcance de este sitio, a menos que solo tenga la intención de volver a llenar esa base de datos, que debería contar como usuario avanzado. parte. Aunque supongo que sabiendo dónde está, puedes descifrar el resto :)

Respuestas (1)

Izzy opinó correctamente aquí que el único lugar sensato para tener un diseño de pantalla de inicio de fábrica es el propio APK del iniciador.

Como no tengo un dispositivo Lenovo y mucho menos su modelo específico, utilicé mi dispositivo MTK con stock 4.2.1 como campo de pruebas. Tiene lanzador de valores ( com.android.launcher).

Acerca de esa cosa llamada diseño de pantalla de inicio de fábrica: un lanzador generalmente tiene una o más bases de datos dentro de su /data/data/..directorio, y una de esas bases de datos tiene una tabla con nombre favorites(el nombre puede diferir entre los lanzadores, pero la idea es la misma). (Consulte mi respuesta sobre ¿Cómo puedo administrar los íconos del "escritorio" para saber de qué estoy hablando?)

La configuración predeterminada que ve no es más que código en el APK que crea bases de datos desde cero y completa la favoritestabla con entradas codificadas (como "Contactos", "Teléfono", "Mensajes", "Chrome" en el muelle) .

Por ejemplo, vea este fragmento de código del código fuente de com.android.launcher:

ingrese la descripción de la imagen aquí

El código está disponible aquí . Si observa detenidamente algunas líneas por encima de la línea 262, verá que el código crea una nueva base de datos con el esquema adecuado y luego completa la base de datos con la favoritestabla que está disponible.

En este punto, no me molesté en investigar más para saber dónde se favoritesguarda esta tabla o el contenido relacionado, ya que mi conclusión se extrae de los lanzadores personalizados que también tienen un diseño diferente pero de fábrica (claramente no guardado fuera del APK).

Recomendaría echar un vistazo al código fuente (siempre que pueda encontrarlo primero) de su iniciador predeterminado, o extraer el APK y buscar en la rescarpeta. Encontré algunas cosas interesantes en res/xml/.


Oh, si alguien quiere experimentar con la pregunta de OP, le sugiero que borre datos desde Configuración → Aplicaciones → Todas las aplicaciones →<Your Launcher> ya que tendría el mismo efecto que hacer un restablecimiento de fábrica (no un restablecimiento completo) .

Gracias por responder. Traté de descompilar Lenovo Launcher.apk, pero el problema es que cuando lo vuelvo a compilar, deja de funcionar correctamente. Cuando lo decompilo. Encontré este assets/profile/app_config.xml paste.ubuntu.com/11913136 Descopilo y vuelvo a compilar con apktool y con apkstudio, que es GUI para apktool.
Lo siento lobi, no estoy muy familiarizado con la descompilación y recompilación de APK. No puede ser de ninguna ayuda aquí. Puede ser que pueda intentar publicar una nueva pregunta al respecto.