Android API 28 使用啥 SQLite 版本,历史上何时更新? [复制]

Posted

技术标签:

【中文标题】Android API 28 使用啥 SQLite 版本,历史上何时更新? [复制]【英文标题】:What SQLite Version Does Android API 28 Use And When Has It Historically Been Updated? [duplicate]Android API 28 使用什么 SQLite 版本,历史上何时更新? [复制] 【发布时间】:2019-03-13 09:09:40 【问题描述】:

android.database.sqlite documentation 显示 android 的每个 API 级别的 SQLite 版本,最新的 API 级别 28 除外。

我目前在我的应用程序中定位 API 28,并希望使用该功能重命名表列 ALTER TABLE table RENAME COLUMNlaunched in SQLite version 3.25。因为文档中没有提到 28 的 SQLite 版本,这是否意味着我目前使用的是最后提到的 3.19?

我还想知道 Android 多久更新一次使用的 SQLite 库。

【问题讨论】:

adb shell && sqlite3 --version 肯定会告诉它。 adb shell 命令不再起作用。相反,在设备上执行此 Kotlin 代码 val version = SQLiteDatabase.create(null).use DatabaseUtils.stringForQuery(it, "SELECT sqlite_version()", null) println("Framework (API $Build.VERSION.SDK_INT) SQLite version: $version") 【参考方案1】:

它并没有为每个版本的 android 指定它,它忽略了它不会改变的任何地方。所以我假设 28 使用与 27 相同。

请注意,从历史上看,他们仅每 3 个版本左右更新一次 SQLite,并且从 11 到 21 有 10 个版本的差距

【讨论】:

自 Lollipop 以来,几乎每个版本都更新了。 @Mark 他们自己的文档甚至没有这么说——他们声称已经在 11、21、24、26、27 更新了它。充其量他们已经连续更新了每个版本 2 . 他们自己的文档省略了微更新(甚至还没有更新 28 次)。自 Lollipop 以来,只有一次使用与以前的 Android 版本 ***.com/a/4377116/444761 相同的 SQLite 版本(其中提到 28 肯定不使用与 27 相同的版本)免责声明:我一直在维护过去 8 的 SO 答案年。 @Mark 如果不是我他们的文档,我不会依赖它是以前版本以外的任何东西。您不知道您测试的设备是官方版和通用版还是原始设备制造商的。您可能会很幸运,但我只会指望文档承诺的功能集,当然很容易包含您自己的更新版本,我这样做是为了提供不同的功能标志 确实你不应该依赖任何东西——包括他们的文档。我的答案中给出的版本是基于模拟器的,这些版本也对应于 Android 文档中给出的版本,最高包括 27。但我认为假设 28 的版本与 27 相同,而不是28 模拟器中的版本。此外,我的回答给出了异常(正如你所建议的可能存在),而 Android 的文档没有。所以我们有证据表明 Android 的文档不太准确。

以上是关于Android API 28 使用啥 SQLite 版本,历史上何时更新? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

android-21是啥手机

Android SQLite详解

Android SQLite详解

Android开发之通过Android的API对sqlite数据库的操作以及数据库事务的练习

Android使用SQLite数据库

android中使用了哪些版本的SQLite? [复制]