API 级别是唯一标识 Android 平台版本的框架 API 版本的数字。这意味着每个 Android 平台版本(例如 Android 8.0)都提供应用程序可以使用相应框架 API 访问的某些功能。该 API 接收一个唯一的编号,即 API 级别。如果您想了解有关 API 级别主题的更多信息,我建议您查看Android 文档中的相应位置。
您可以使用参数 minSdkVersion、targetSdkVersion 和compileSdkVersion 通过指定特定的 API 级别来控制应用程序的兼容性。 TargetSdkVersion 特别重要,因为它本质上控制着向上兼容性。如果较新版本的 Android 中的行为或外观发生变化,Android 会使用此参数并使用某些兼容性机制来确保您的应用程序按预期运行。
将来,您开发的应用程序必须至少具有API级别26作为targetSdkVersion,这当然对您的应用程序有非常大的影响。这意味着,如果增加此值,Android 将相应禁用所有兼容性机制。由于有时需要在 Android 版本之间 律师电子邮件列表 进行大量更改,因此您通常必须手动确保您的应用程序也能在新的 Android 版本中顺利运行。例如,您的应用程序之一可能能够毫无问题地进行编译,并且看起来可以毫无问题地运行。但是,在使用新 Android 版本中行为已更改的函数时,它在某些情况下会崩溃。因此,只有在使用此 Android 版本的真实设备或模拟器上集中测试了所有工作流程后,您才能声明应用程序是否与新版本兼容。
这意味着您无法轻松增加 targetSdkVersion。相反,您应该相应地迁移您的应用程序并专门测试它们。您应该记住以下几点:受支持的 Android 版本越旧,迁移工作量就越大。
应该做什么?
正如您现在所知,您不应该简单地增加 targetSdkVersion,而应该执行逐步迁移。 Google 为开发者提供了每个平台或 API 更新的相关更改的概述。还有当前版本的详细迁移指南,其大致流程也可以作为其他Android版本的示例。
Android 8.0 的示例迁移过程
应用程序管理为了让您能够保持概览并避免意外的副作用,理想情况下此过程应该逐步执行。例如,如果应用程序支持 API 级别 19,您应该使用上述流程逐步将其迁移到 26。以清单的形式处理各个平台的变化是有意义的。
虽然有些调整相对简单或根本没有必要,例如因为某个应用根本不使用更改的功能,但某些调整也涉及深刻的导航流程和代码更改。这尤其包括更新到 Android 6.0 或 API 级别 23 时的运行时权限。因此,迁移所需的工作量直接取决于单个应用程序的架构和功能范围。
如果我不更新我的应用程序会怎样?
正如我所说,支持当前 API 级别的要求最初只会影响新的或更新的应用程序。如果您已经发布了应用程序,它们不会直接受到影响。因此,如果您不更新现有应用程序,最初不会发生任何事情。