android - 是否可以为库项目跳过 TargetSdkVersion(27 到 29)?

标签 android

我继承了一个用原生 android 编写的库项目的代码库,该项目有一段时间没有更新,其中项目的 targetSdkVersion 是 27。在测试集成 api 28 上的库的应用程序时,我们还没有' 遇到任何具体问题。鉴于 Android Q 即将发布测试版,我想更新 targetSdkVersion 29,但我想知道我是否可以将 targetSdkVersion 从 27 直接增加到 29 而不会错过 28 中任何潜在的版本错误,或者我是否可以必须增加到 28,测试然后增加到 29?

最佳答案

升级时可能会出现两种类型的错误:

1. Google removed a method or class, that you have used.

在这种情况下,如果没有 lint/gradle 错误消息,您将无法编译项目。因此,您会注意到这些变化。

2. Google changed some class behaviours or introduced new access patterns

这些更难发现,因为您可能只有在使用它时才会发现它。一个例子是 Android 9 中的明文支持 (Cleartext)。如果您以 Android 9 为目标并忘记在 list 中添加必要的行,您的应用将会崩溃,但它会在 Android 9 之前的版本上完美运行。

最后,没有检测这个的工具(至少我不知道)。最好的办法是创建一个有效的测试程序(多个测试设备和用户)并扫描开发者页面上的变更说明以获取公告。

关于android - 是否可以为库项目跳过 TargetSdkVersion(27 到 29)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059242/

相关文章:

android - 如何遍历字符串数组并添加到 Realm 数据库?

android - Android SDK 构建工具、错误或功能的多个实例?

android - 在日历上链接标记事件

java - 单击 ListView 中的项目时,Android 应用程序崩溃

android - 广告加载失败,错误代码 0(内部错误) - 华为广告实现

android - 使用 Phonegap 离线显示和导航大型自定义 map

Android Mockito 太多实际调用

android - 带碰撞检测的动画?

android - 为什么Android允许安装证书过期的APK?

java - 处理 FirebaseRecyclerAdapter 中的位置