1). Periksa Logcat
. Anda bahwa Anda tidak memiliki kesalahan.
2). Aktifkan logging untuk melihat semua pernyataan SQL, yang sedang Anda lakukan:
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
Atau baca ini:https://stackoverflow.com/a/19152852/1796309
Atau ini:https://stackoverflow.com/a/6057886/1796309
Bagaimanapun, Anda perlu memeriksa apakah Anda melakukan kueri SQL yang benar.
3). Jika kueri Anda baik-baik saja, tetapi Anda masih tidak dapat memperbarui baris Anda, Anda perlu melakukan ini:
3.1) Buka <android-sdk-dir>/platform-tools
3.2). Pastikan build Anda saat ini adalah Debug
(bukan Release
, atau Anda akan mendapatkan pesan adbd cannot run as root in production builds
).
Maksud saya, Anda harus menjalankan aplikasi Anda melalui tombol ini:
Dan jalankan perintah berikutnya:
./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/
Setelah ini, Anda akan memiliki salinan database SQLite Anda di ~/projects/
direktori.
Buka menggunakan, misalnya ini:http://sqlitebrowser.org/
Coba jalankan kueri pembaruan, yang bisa Anda dapatkan dari Logcat
.
Anda akan melihat semua kesalahan SQL dan Anda akan dapat memperbaikinya dengan sangat cepat.
Semoga berhasil!