Ich möchte alle Symbole auf dem Desktop (und auch in der unteren Leiste) entfernen und neue über ADB platzieren. Mein Skript entfernt bereits alle Apps, aber Symbole/Verknüpfungen bleiben dort!
Gibt es dafür einen Befehl? Oder vielleicht eine XML-Datei oder etwas, das ich bearbeiten kann?
Hinweis: Ich habe Root-Zugriff.
Der Standardstarter in meinem Standard-Android 4.2.1 und CM12 enthält diese Startbildschirm-Verknüpfungen in einer Tabelle mit dem Namen favorites
darin launcher.db
. Wenn das Ihr Fall ist, müssen Sie nur den Inhalt dieser Tabelle löschen, den Launcher neu starten und das Zeug wäre endgültig verschwunden.
Eine allgemeine Abfrage wäre:
adb shell su -c 'sqlite3 /data/data/<YOURLAUNCHER>/databases/<.DB_FILE> "DELETE from <TABLE>"'
(Laden Sie sqlite3 herunter , wenn es nicht im System vorhanden ist.)
Für meinen Stock Launcher in Android 4.2.1 wäre die Abfrage:
adb shell su -c 'sqlite3 /data/data/com.android.launcher/databases/launcher.db "DELETE from favorites"'
Allerdings müssen Sie zunächst analysieren .db
, in welcher Datei und insbesondere in welcher Tabelle die relevanten Inhalte tatsächlich enthalten sind.
Dazu können Sie den SQLite-Editor oder den SQLite-Manager verwenden , um die relevante Datenbank und Tabelle zu finden. Oder Sie können adb pull
alle Datenbankdateien des Startprogramms in einem SQLite-Programm auf dem PC wie DB Browser for SQLite öffnen , um die richtige Tabelle zu finden.
Als Befehlszeilenmethode können Sie diesen Befehl verwenden, um alle Tabellen in einer bereitgestellten Datenbank aufzulisten:
adb shell su -c 'sqlite3 /data/data/<YOURLAUNCHER>/databases/<A_DB_FILE> ".tables"'
Um Verknüpfungen zu erstellen, müssen Sie zunächst deren Struktur in der Tabelle kennen. Verwenden Sie .schema
dann SELECT * <PARAMS>
, um den Inhalt anzuzeigen. Sie können Hilfe (bei der Erstellung einer Abfrage) von dieser Ressource erhalten .
Ich würde jedoch empfehlen, GUI über CLI zu wählen, um die Informationen zu Verknüpfungen anzuzeigen. Machen Sie außerdem immer eine Sicherungskopie, bevor Sie solche Dinge optimieren .
Wenn Sie den Inhalt der Tabelle geleert haben, gehen Sie wie folgt vor:
adb shell su -c 'am force-stop <PKG_NAME>'
Z.B:
adb shell su -c 'am force-stop com.android.launcher'
oder
adb shell su -c 'am force-stop com/cyanogendmod.trebuchet'
Versuche dies:
adb shell pm clear com.android.launcher
(Ich denke, es ist der eindeutige Name des Launchers in 4.4.2, ändere ihn, wenn ich falsch liege.)
com.android.launcher3
.
GAThrawn
Antonio Almeida