1). Zkontrolujte svůj Logcat
že nemáte žádné chyby.
2). Povolte protokolování, abyste viděli všechny příkazy SQL, které provádíte:
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
Nebo si přečtěte toto:https://stackoverflow.com/a/19152852/1796309
Nebo toto:https://stackoverflow.com/a/6057886/1796309
Každopádně musíte zkontrolovat, že děláte správný SQL dotaz.
3). Pokud je váš dotaz v pořádku, ale stále nemůžete aktualizovat řádek, musíte provést toto:
3.1) Přejděte na <android-sdk-dir>/platform-tools
3.2). Ujistěte se, že vaše aktuální sestavení je Debug
(nikoli Release
, nebo se zobrazí zpráva adbd cannot run as root in production builds
).
Myslím tím, že byste měli aplikaci spustit pomocí tohoto tlačítka:
A spusťte další příkazy:
./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/
Poté budete mít kopii vaší SQLite databáze v ~/projects/
adresář.
Otevřete jej například pomocí tohoto:http://sqlitebrowser.org/
Zkuste provést aktualizační dotaz, který můžete získat z Logcat
.
Uvidíte všechny chyby SQL a budete je moci velmi rychle opravit.
Hodně štěstí!