1、SDK版本含义
使用Android Studio时,每个应用有对应的build.gradle文件,类似于:
..............
android {
//SDK编译版本
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "stark.a.is.zhang.quizgeo"
//SDK最低版本
minSdkVersion 15
//SDK目标版本
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
................
}
在编译器中,经常会指定一些SDK版本。
SDK最低版本表示:
以最低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上;
SDK目标版本:
目标版本的设定值主要用于表明,应用是设计给哪个API级别运行的。
大多数情况下,目标版本即最新发布的Android版本。
例如:假设设定应用的SDK目标版本为23,
那么即使应用运行在高于目标版本的设备上,
其运行行为还是和SDK为23时一致。
SDK编译版本:
应用的SDK最低版本和目标版本会通知给操作系统,当SDK编译版本是应用和编译器之间的私有信息。
Android的特色功能是通过SDK中的类和方法展现的。在编译代码时,SDK编译版本指定具体要使用的系统版本。
Android Studio等编译器,在寻找类包导入语句中的类和方法时,SDK编译版本确定具体的基准系统版本。
利用代码获取系统当前SDK版本的示例如下:
...........
Build.VERSION.SDK_INT
...........
2、version版本的含义
新建应用时,可以在其AndroidManifest.xml中定义versionCode和versionName,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.xxx"
android:versionCode="1"
android:versionName="1.1">
......
其中:
versionCode是给设备程序识别版本(升级)用的,必须是一个integer值,代表app更新过多少次。
versionName是给用户看的,可以写1.1 , 1.2等等版本。
在AndroidStudio中,因为有对应的build.gradle文件,
因此version信息一般写入该文件中,类似于:
...........
defaultConfig {
applicationId "stark.a.is.zhang.transfer"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
.........