Ich versuche das Benutzerwörterbuch von meinem alten Gerät auf ein neues Handy zu kopieren. Soweit ich sehe, sind alle selbst eingetragenen Wörter in der sqlite datenbank /data/data/com.android.providers.userdictionary/databases/user_dict.db gespeichert.

Die Datenbank auf meinem alten und neuen Gerät haben exakt den gleichen Aufbau und die Tabelle android_metadata auch den gleichen Inhalt.

Code (MySQL):
  1.  
  2. sqlite3 user_dict.db
  3. SQLite version 3.22.0 2018-01-22 18:45:57
  4. sqlite> .schema
  5. CREATE TABLE android_metadata (locale TEXT);
  6. CREATE TABLE words (_id INTEGER PRIMARY KEY,word TEXT,frequency INTEGER,locale TEXT,appid INTEGER,shortcut TEXT);
  7.  

Mein erster Versuch war, die originale user_dict.db auf dem neuen Gerät in user_dict.db.bak umzubenennen und lediglich die Datei vom alten Device ohne Veränderung auf mein neues Gerät zu kopieren. Nach einem Restart erscheint beim Klick auf Einstellungen / Sprache & Eingabe eine Fehlermeldung, dass die App "Einstellungen" abgestürzt ist.

Lösche ich danach die user_dict.db (die vom alten Handy kopiert wurde) und kopiere die originale user_dict.db.bak nach user_dict.db stürzt beim Klick auf Einstellungen / Sprache & Eingabe die App "Einstellungen" noch immer ab.

Lösche ich die Kopie meiner alten user_dict.db und benenne die originale Sqlite Datenbank user_dict.db.bak wieder in user_dict.db um, dann funktioniert wieder alles.

Meine Frage ist, warum eine identische Kopie der ursprünglichen user_dict.db nicht funktioniert, ich aber keine Probleme habe, wenn ich die originale Datei von user_dict.db.bak wieder in user_dict.db umbenenne. Inhalt und File-Permissions sind identisch.


Ich dachte erst an ein Problem mit den Permissions, aber auch wenn Owner, Group und rwx-Flags gleich wie bei der Originaldatei sind, stürzt die Einstellungen-App ab, sobald ich versuche das User Wörterbuch über die Einstellungen anzusehen. Gibt es unter Android weitere Permissions, die nicht über chmod oder chown gesteuert werden?