Android 项目中 compileSdkVersion targetSdkVersion minSdkVersion buildToolsVersion 的区别

💡 原文中文,约1600字,阅读约需4分钟。
📝

内容提要

之前没有注意 compileSdkVersion、targetSdkVersion、minSdkVersion 和 buildToolsVersion 这几个 gradle 配置参数,但是最近遇到一个需要用到三方 SDK 的项目,需要了解这几个参数的区别。compileSdkVersion 是编译 app 时使用的 API 版本,targetSdkVersion 是指定 app 运行时使用的 Android 版本,minSdkVersion 是指定 app 运行所需的最低 Android 版本,buildToolsVersion 是编译工具的版本。submodule 的 targetsdk 和 compilesdk 版本可以不一致。

🎯

关键要点

  • compileSdkVersion 是编译 app 使用的 API 版本,允许使用最新的 API。

  • targetSdkVersion 指定 app 运行时使用的 Android 版本,未设置时默认为 minSdkVersion。

  • minSdkVersion 指定 app 运行所需的最低 Android 版本,默认为 1。

  • compileSdkVersion 与 buildToolsVersion 的区别在于前者是编译时使用的 SDK 版本,后者是编译工具的版本。

  • buildToolsVersion 可以高于 compileSdkVersion,且向下兼容。

  • 需要确保整个项目的 minSdkVersion 大于等于所有模块中最高的 minSdkVersion。

  • 可以通过 SDK Manager 获取最新的 buildToolsVersion 版本号。

  • submodule 的 targetSdkVersion 和 compileSdkVersion 可以不一致。

🏷️

标签

➡️

继续阅读