1 votos

¿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 por defecto que persistirá después de hacer un hard reset.

Mejor

Editar

dispositivo: Lenovo A6000, kitkat 4.4.4

rom: orignal stok rom de Lenovo

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

0 votos

Genial, ¡gracias! Lo que se me olvidó preguntar: el dispositivo está rooteado, ¿verdad? Sin Root, las posibilidades son nulas, ya que tendrás que modificar "cosas del sistema" (muy probablemente el .apk del lanzador que reside en /system/app - pero esa parte mejor se la dejo a los que tienen más experiencia que yo).

0 votos

@Izzy así que el diseño por defecto está codificado en el .apk??? sí soy Root

1 votos

No es exactamente mi área de experiencia (no soy un dev), pero ese es el único lugar que tiene sentido para mí, por varias razones: 1) los lanzadores son reemplazables, así que, aunque sea posible, no tiene mucho sentido repartir la información por todo el sistema; 2) en init, /data/data/<package_name> se creará - pero un restablecimiento de fábrica lo eliminará de nuevo. Entonces, ¿de dónde saldrá? Un lanzador es una "aplicación normal", incluso si se instala como aplicación del sistema. No me gustaría que se "mezclara" con otros componentes del sistema operativo.

4voto

Firelord Puntos 161

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

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

Sobre esa cosa llamada diseño de pantalla de inicio de fábrica -- un lanzador suele tener una o más bases de datos dentro de su /data/data/.. y una de esas bases de datos tiene una tabla llamada favorites (el nombre puede variar entre los lanzadores pero la idea es la misma). (Ver mi respuesta para ¿Cómo puedo gestionar los iconos del "escritorio"? para saber de qué estoy hablando).

La configuración por defecto que se ve no es más que un código en el APK que crea la(s) base(s) de datos desde cero y rellena el favorites tabla con entradas codificadas (como "Contactos", "Teléfono", "Mensajes", "Chrome" en el muelle).

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

enter image description here

El código está disponible aquí . Si se observa con atención unas líneas por encima de la línea 262, se verá que el código está creando una nueva base de datos con el esquema adecuado y luego rellenando la base de datos con favorites tabla que está disponible para ella.

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

Yo recomendaría echar un vistazo al código fuente (siempre que puedas encontrarlo primero) de tu launcher por defecto, o extraer el APK y escarbar en res carpeta. Encontré algunas cosas interesantes en res/xml/ .


Oh, si alguien quiere experimentar sobre la pregunta del OP entonces le sugiero que lo haga Borrar datos de Ajustes → Aplicaciones → Todas las aplicaciones → <Your Launcher> ya que tendría el mismo efecto que hacer un restablecimiento de fábrica (no Hard reset) .

0 votos

Gracias por la respuesta. He intentado descompilar Lenovo Launcher.apk, pero el problema es que cuando lo recompilo, deja de funcionar correctamente. Cuando lo descompilo. He encontrado este assets/profile/app_config.xml paste.ubuntu.com/11913136 Decopilo y recompilo con apktool y con apkstudio que es GUI para apktool.

0 votos

Lo siento lobi, no estoy muy familiarizado con la descompilación y recompilación de APKs. No puedo ser de ninguna ayuda aquí. Tal vez usted puede tratar de publicar una nueva pregunta en ese sentido.

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