可以跳过针对图书馆项目的TargetSdkVersion(27至29)吗?

时间:2019-07-16 14:09:17

标签: android

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

1 个答案:

答案 0 :(得分:1)

升级时可能会发生两种错误:

  

1。 Google删除了您使用的方法或类。

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

  

2。 Google改变了一些课堂行为或引入了新的访问方式

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

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