Ответ 1
ОБНОВЛЕНИЕ ОКТЯБРЯ 2016 ГОДА. Ниже приведена ссылка на обновленные официальные документы, включающие основные моменты в этом ответе: android.database.sqlite javadoc уровня пакета
Использование эмуляторов (adb shell sqlite3 --version
):
ОБНОВЛЕНИЕ: начиная с SDK 29 (ревизия эмулятора 8), команда оболочки adb выдает:
/system/bin/sh: sqlite3: inaccessible or not found
Есть идеи почему?
ОБНОВЛЕНИЕ: К сожалению, старые версии API (SDK 18 и более ранние версии) перестали работать: https://issuetracker.google.com/issues/37048579
SQLite 3.22.0:
SQLite 3.19.4 (по какой-то причине 3.19.4 не существует в заметках о выпуске sqlite! Поэтому вместо ссылки на проверки версий):
- 27 -8.1.0-O MR1
SQLite 3.18.2:
- 26 -8.0.0-O (примечание: используется бета-версия O 3.18.0)
SQLite 3.9.2:
- 25 -7.1.1-N MR1
- 24 -7.0-N (примечание: для предварительного просмотра использовалась та же версия)
SQLite 3.8.10.2:
- 23-6.0-M (примечание: M Preview 1 (уровень SDK 22) используется 3.8.10)
SQLite 3.8.6.1 (ссылка на SQLite для 3.8.6, потому что 3.8.6.1 по какой-то причине не существует):
- 22-5.1.1-леденец
SQLite 3.8.6:
- 21-5.0-леденец
SQLite (неизвестно):
- 20 -4.4W.2-Android Wear (эмулятор недоступен, но возможно либо 3.7.11, либо 3.8.4.3)
SQLite 3.7.11:
- 19 -4.4-KitKat
- 18 -4.3-желе-боб
- 17 -4.2-желейные бобы
- 16 -4.1 - желе-боб
SQLite 3.7.4:
- 15 -4.0.3-Бутерброд с мороженым
- 14 -4.0-Бутерброд с мороженым
- 13 -3 0,2-Соты
- 12 -3 0,1-Соты
- 11 -3 0,0-Соты
SQLite 3.6.22:
- 10 -2.3.3-пряник
- 9 -2.3.1-пряник
- 8 -2 0,2-Froyo
SQLite 3.5.9:
- 7 -2.1-Глазур
- 4 -1 0,6-пончик
- 3 -1 0,5-кекс
Примечание. Ссылки уровня Android SDK показывают, где изменился пакет android.database.sqlite. Если ссылка отсутствует (например, уровень SDK 17), это означает, что в этом пакете нет изменений.
Примечание. Вот некоторые аномалии (список не является исчерпывающим):
SQLite 3.7.13 (вместо 3.7.11):
- LG Optimus L70 MS323 LGMS323 | KOT49I.MS32310b (19 -4.4-KitKat)
- LG Optimus G E975 LG-E975 | JZO54K (16 -4.1-желейные бобы)
- LG G2 D802 LG-D802 | JDQ39B (17 -4.2-желейные бобы)
SQLite 3.7.6.3 (вместо 3.6.22):
- LG Optimus Sol E730/myTouch E739/myTouch Q C800 (10 -2.3,3-пряников, GRJ22)
- LG Optimus Vu F100S/F100L (10 -2.3,3-пряников, RK39F)
- LG Optimus LTE TAG F120K/F120L (10 -2.3,3-имбирный пряник, GRK39F)
- LG Optimus LTE L-01D (10 -2.3,3-имбирный пряник, GRJ90)
- LG Optimus Net P690b (10 -2.3,3-имбирный пряник, имбирный хлеб)
- LG Prada KU5400 (10 -2.3,3-пряник, GWK74)
- LG Prada P940 (10 -2.3,3-пряник, GWK74)
- LG LU6200/SU640 (10 -2.3,3-пряник, GRJ90) s
SQLite 3.7.5 (вместо 3.7.4):
- Samsung Galaxy Note (15-GT-N7000 | IML74K.ZSLPF)
- Samsung Galaxy SII (15-SC-02C | IML74K.OMMP4 и GT-I9100 | IML74K.DXLP7)
- Samsung Galaxy S Duos (15-GT-S7562 | IMM76I.S7562XXBMD6)
- Samsung Galaxy Tab 7.7 (15-GT-P6810 | IMM76D.ZSLP8)
SQLite 3.7.0.1 (вместо 3.6.22):
- LG Esteem MS910 (10 -2.3.3-Gingerbread, GSE-_v.05)
- AndroTab (8 -2.2-Froyo, 1.0.7100.0385)
- GPLUS MUSN M500 (8 -2.2-Froyo, FRG83G)
SQLite 3.6.23.1 (вместо 3.5.9):
- Motorola Backflip MB300 (7 -2.1-Eclair, ERD79)
- Garmin-Asus nüvifone A10/A50/Garminfone (7 -2.1-Эклер, ERE27)
Примечание. Команда adb для получения версии SQLite работает только на эмуляторах и на устройствах с sqlite3: fooobar.com/questions/28850/...
Для других устройств см. ответ Juri.
Я добавил номер 58909 в систему отслеживания ошибок Android. Пометьте это, если хотите поддержать.
Примечание. Если вы хотите, чтобы ваше приложение использовало одну и ту же версию SQLite во всех версиях Android, рассмотрите возможность использования этой сторонней библиотеки поддержки SQLite.