1). Überprüfen Sie Ihren Logcat
dass Sie keine Fehler haben.
2). Aktivieren Sie die Protokollierung, um alle SQL-Anweisungen anzuzeigen, die Sie ausführen:
https://gist.github.com/davetrux/9741432
adb shell setprop log.tag.SQLiteLog V
adb shell setprop log.tag.SQLiteStatements V
adb shell stop
adb shell start
Oder lesen Sie dies:https://stackoverflow.com/a/19152852/1796309
Oder hier:https://stackoverflow.com/a/6057886/1796309
Wie auch immer, Sie müssen überprüfen, ob Sie die richtige SQL-Abfrage durchführen.
3). Wenn Ihre Abfrage in Ordnung ist, Sie Ihre Zeile aber immer noch nicht aktualisieren können, müssen Sie Folgendes tun:
3.1) Gehen Sie zu <android-sdk-dir>/platform-tools
3.2). Stellen Sie sicher, dass Ihr aktueller Build Debug
ist (nicht Release
, oder Sie erhalten die Meldung adbd cannot run as root in production builds
).
Ich meine, Sie sollten Ihre App über diese Schaltfläche ausführen:
Und führen Sie die nächsten Befehle aus:
./adb root
./adb shell
run-as com.mycompany.app //<----------- your applicationId from build.gradle
ls -l
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:44 cache
drwx------ u0_a88 u0_a88 2016-01-25 15:25 code_cache
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:44 databases //<----
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:26 files
cd databases/
ls -l
-rw-rw---- u0_a88 u0_a88 172032 2016-01-25 15:45 <your-app>.db
-rw------- u0_a88 u0_a88 33344 2016-01-25 15:45 <your-app>.db-journal
chmod 777 -R <your-app>.db
exit
exit
./adb pull /data/data/<your applicationId from build.gradle>/databases/<your-app>.db ~/projects/
Danach haben Sie eine Kopie Ihrer SQLite-Datenbank in ~/projects/
Verzeichnis.
Öffnen Sie es beispielsweise folgendermaßen:http://sqlitebrowser.org/
Versuchen Sie, eine Update-Abfrage auszuführen, die Sie von Logcat
erhalten können .
Sie sehen alle SQL-Fehler und können diese sehr schnell beheben.
Viel Glück!