1). Tjek din Logcat
at du ikke har nogen fejl.
2). Aktiver logning for at se alle SQL-sætninger, som du laver:
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
Eller læs dette:https://stackoverflow.com/a/19152852/1796309
Eller dette:https://stackoverflow.com/a/6057886/1796309
Under alle omstændigheder skal du kontrollere, at du laver den korrekte SQL-forespørgsel.
3). Hvis din forespørgsel er i orden, men du stadig ikke kan opdatere din række, skal du gøre dette:
3.1) Gå til <android-sdk-dir>/platform-tools
3.2). Sørg for, at din nuværende build er Debug
(ikke Release
, eller du får beskeden adbd cannot run as root in production builds
).
Jeg mener, du skal køre din app via denne knap:
Og kør de næste kommandoer:
./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/
Efter dette vil du have kopi af din SQLite-database i ~/projects/
bibliotek.
Åbn den ved at bruge for eksempel denne:http://sqlitebrowser.org/
Prøv at udføre opdateringsforespørgsel, som du kan få fra Logcat
.
Du vil se alle SQL-fejl, og du vil være i stand til at rette det meget hurtigt.
Held og lykke!