Android SDK及Build版本配置说明
Android SDK及Build版本配置说明
compileSDKVersion,minSDKVersion,targetSDKVersion,BuildToolsVersion,com.android.tools.build:gradle
Android SDK“不完全”确保向下兼容,所以通过各种字段在不同阶段保证系统,应用及SDK之间有正确的可预料的对应关系。开发者需要通过配置,确保应用在指定版本的SDK上有符合预期的行为。
1.compileSDKVersion
- 指定位置
build.gradle中,android部分的compileSdkVersion中指定 - 含义
指定该APP源代码使用什么版本的android SDK进行编译。SDK版本与android系统版本相关,对应关系参见
android SDK与android版本对应关系 - 建议
为了确保及时发现android中即将废弃的API,建议始终使用最新版本的SDK
2.minSDKVersion
- 指定位置
build.gradle中,android部分的minSdkVersion中指定 - 含义
指定该APP运行所支持的Android系统最小版本所对应的SDK版本。APP中使用的新API可能在某 些低版本android SDK中不存在,故需要此字段。对应关系仍然参见android SDK与android版本对应关系。安卓市场的APP所支持系统最小版本,来源于此。 - 建议
确保APP所运行的系统支持APP需要的所有API
3.targetSDKVersion
- 指定位置
build.gradle中,android部分的targetSdkVersion中指定 - 含义
对于某些SDK的API,行为在新旧版本系统中表现不同。所以,需要此字段,以便最新android 系统进行判断,在旧版本系统上按照原有行为运行,在新系统上按照新的行为运行。见targetSdkVersion - 推荐
对于targetSDKVersion的系统,APP也需要做充分测试。
4.com.android.tools.build:gradle
- 指定位置
build.gradle中,buildscript部分下,dependencies的classpath中指定 - 含义
gradle打包时,使用的android plugin版本。对gradle及BuildToolsVersion版本均有依赖。参见com.android.tools.build:gradle:3.0.0。 - 推荐
建议使用3.0.0之后版本,因为android studio在此后性能有重大提升。
5.BuildToolsVersion
- 指定位置
build.gradle中,android部分的buildToolsVersion中指定 - 含义
android build工具版本。高版本的build工具可以用于使用低版本SDK(compileSdkVersion)的APP打包。
从com.android.tools.build:gradle:3.0.0起,无需再指定BuildToolsVersion。因为com.android.tools.build:gradle:3.0.0会默认使用所需的最小版本android build工具。参见com.android.tools.build:gradle:3.0.0