Quiero eliminar todos los íconos en el escritorio (y también en la barra inferior) y colocar otros nuevos a través de ADB. ¡Mi secuencia de comandos ya elimina todas las aplicaciones, pero los íconos / accesos directos permanecen allí!
¿Hay algún comando para hacer esto? ¿O tal vez un archivo xml o algo que pueda editar?
Nota: tengo acceso de root.
El iniciador predeterminado en mi stock Android 4.2.1 y CM12 contiene esos accesos directos de la pantalla de inicio en una tabla con el nombre favorites
dentro launcher.db
. Si ese es su caso, todo lo que tiene que hacer es vaciar el contenido de esa tabla, reiniciar el iniciador y todo desaparecerá para siempre.
Una consulta general sería:
adb shell su -c 'sqlite3 /data/data/<YOURLAUNCHER>/databases/<.DB_FILE> "DELETE from <TABLE>"'
(Descargue sqlite3 si no está presente en el sistema).
Para mi iniciador de acciones en Android 4.2.1, la consulta sería:
adb shell su -c 'sqlite3 /data/data/com.android.launcher/databases/launcher.db "DELETE from favorites"'
Sin embargo, primero debe analizar qué .db
archivo, y qué tabla en particular, contiene realmente las cosas relevantes.
Para eso, puede usar SQLite Editor o aSQLite Manager para ubicar la base de datos y la tabla relevantes. O bien, puede utilizar adb pull
todos los archivos de la base de datos del lanzador y abrirlos en un programa sqlite en una PC como DB Browser for SQLite para encontrar la tabla correcta.
Para una forma de línea de comandos, puede usar este comando para enumerar todas las tablas en una base de datos suministrada:
adb shell su -c 'sqlite3 /data/data/<YOURLAUNCHER>/databases/<A_DB_FILE> ".tables"'
Para crear accesos directos, primero debe conocer su estructura en la tabla. Use .schema
entonces SELECT * <PARAMS>
para ver el contenido. Puede obtener ayuda (para hacer una consulta) de este recurso .
Sin embargo, recomendaría elegir GUI sobre CLI para ver la información sobre accesos directos. Además, siempre haga una copia de seguridad antes de modificar este tipo de cosas .
Una vez que haya terminado de vaciar el contenido de la tabla, haga lo siguiente:
adb shell su -c 'am force-stop <PKG_NAME>'
P.ej:
adb shell su -c 'am force-stop com.android.launcher'
o
adb shell su -c 'am force-stop com/cyanogendmod.trebuchet'
Prueba esto:
adb shell pm clear com.android.launcher
(creo que es el nombre único del lanzador en 4.4.2, cámbialo si me equivoco)
com.android.launcher3
.
gathrawn
Antonio Almeida