Apa versi SQLite yang digunakan di Android?
Alasan: Saya ingin tahu bagaimana menangani migrasi skema. Versi SQLite yang lebih baru mendukung perintah SQL "ALTER TABLE" yang akan menyelamatkan saya harus menyalin data, menjatuhkan tabel, membuat ulang tabel dan memasukkan kembali data.
Jawaban:
UPDATE OCT 2016 : Berikut adalah tautan ke dokumen resmi yang diperbarui yang mencakup poin utama dalam jawaban ini: javadoc tingkat paket android.database.sqlite
Menggunakan emulator:
UPDATE: Sejak SDK 29 (revisi emulator 8), perintah adb shell memberikan:
Ada ide kenapa? Pelacak masalah sini .
SQLite 3.28.0 ( fungsi jendela !):
SQLite 3.22.0 :
SQLite 3.19.4 (untuk beberapa alasan 3.19.4 tidak ada dalam catatan rilis sqlite! Jadi tautkan ke check-in kontrol versi sebagai gantinya):
SQLite 3.18.2 :
SQLite 3.9.2 :
SQLite 3.8.10.2 :
SQLite 3.8.6.1 (Tautan SQLite untuk 3.8.6 karena 3.8.6.1 tidak ada karena beberapa alasan):
SQLite 3.8.6 :
SQLite (tidak diketahui):
SQLite 3.7.11 :
SQLite 3.7.4 :
SQLite 3.6.22 :
SQLite 3.5.9 :
Catatan: Tautan level Android SDK menunjukkan tempat android.database.sqlite paket telah berubah. Jika tidak ada tautan (mis. SDK level 17), menunjukkan tidak ada perubahan pada paket itu.
Catatan: Berikut adalah beberapa anomali (daftar sama sekali tidak lengkap):
SQLite 3.7.13 (bukan 3.7.11):
SQLite 3.7.6.3 (bukan 3.6.22):
SQLite 3.7.5 (bukan 3.7.4):
SQLite 3.7.0.1 (bukan 3.6.22):
SQLite 3.6.23.1 (bukan 3.5.9):
Catatan: perintah adb untuk mendapatkan versi SQLite hanya berfungsi pada emulator dan pada perangkat dengan sqlite3 tersedia: https://stackoverflow.com/a/3645800/444761
Untuk perangkat lain, lihat jawaban Juri .
Saya telah menambahkan Edisi # 58909 ke Android Issue Tracker. Tolong beri bintang pada ini jika Anda ingin mendukungnya.
Catatan: jika Anda ingin aplikasi Anda menggunakan versi SQLite yang sama di semua versi Android, pertimbangkan untuk menggunakan pustaka dukungan SQLite pihak ke-3 ini .
sumber
targetSdkVersion
ataubuildTarget
memiliki pengaruh pada itu?Meskipun dokumentasi memberikan 3.4.0 sebagai nomor referensi, jika Anda menjalankan sql berikut, Anda akan melihat bahwa ada jumlah SQlite yang jauh lebih tinggi yang diinstal:
Ini hanya sepotong kode cepat dan kotor untuk mengambil versi sqlite. Misalnya pada HTC Hero dengan Android 2.1, saya mendapatkan: 3.5.9 .
Di Nexus One saya dengan Android 2.2, saya bahkan mendapatkan 3.6.22 .
sumber
Sama pada emulator ADP1 1.6 & 2.1.
sumber
Tinjauan singkat tentang API Andorid dan versi SQLite yang didukung.
Gambaran umum dari tautan dalam jawaban Mark Carters.
sumber
Di Kamar Anda dapat meminta
SELECT sqlite_version ()
RG
sumber