Mobile開発向けsqliteのバージョン情報
Android、iOS、開発機材でsqliteのバージョンの差異が生まれる事は避けられないが、差異の存在を知っておく事はバグ対策に不可欠だろう。
sqlite自体のバージョン間の変更点について
本家サイトのRelease Historyの中に記されている。
7/7/2019時点での最新版は2019年4月16日の3.28.0
iOS, macOS
現行iOS12.x(2,3は不明) macOS(High Sierra 10.3.6, Mojave 10.14.5)では3.24.0。統一されていて安心。
詳細はSQLite version (bundled with OS)というサイトに記載されている。
Android
例によって例のごとく、不統一感が甚だしい。
開発者向けページのandroid.database.sqliteにある。具体的には以下の通り。
19 Android 4.4 KitKat 3.7
21 Android 5.0 Lollipop 3.8
22 Android 5.1 Lollipop 3.8
23 Android 6.0 Marshmallow 3.8
24 Android 7.0 Nougat 3.9
26 Android 8.0 Oreo 3.18
27 Android 9.0 Pie 3.19
同じページにadb -e shell sqlite3 –versionというコマンドで調べられるとあるが、これは基本的にはEmulator用で実機ではsqlite3コマンドは実行できないものが多い。(できるものもある)
ちなみにUSB等で接続しているデバイスにShellコマンドを実行させる方法は以下のようなもの。一つ目でデバイスのシリアルナンバーを調べ、次のコマンドでShellコマンドを投入するのである。
$ adb devices
serial_number device_name
$ adb -s serial_number shell command [option]
some response
調べたければADB本家サイトの記事sqlite3:not foundを参考にすればよい。(そこまで拘る必要があるアプリケーションは多くないと思えるが、レガシープロジェクトを抱えている人は知っておいて損はない。)