我继承了一个用原生 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/