新建一个项目,看build.gradle文件的配置,如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.spring"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.2.1'
}
1. comileSdkVersion
表示:编译版本,就是运行我们这个项目的需要的SDK,现在是API 23,如果我们需要在4.3的版本运行,只要该为18就好了,那么它的对应版本号怎么查看呢,看下图吧

注意:minSdkVersion, targetSdkVersion 的版本,也在上图中查找哦
2. buildToolsVersion
表示:构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX, 当前对应的版本有那些呢,如下图吧

注意:你可以用高版本的build-tool去构建一个低版本的sdk工程,例如build-tool的版本为20,去构建一个sdk版本为18的
例如:
compileSdkVersion 18
buildToolsVersion "23.0.3"
3. appcompat-v7:XXXX 的版本
compile 'com.android.support:appcompat-v7:23.2.1'

网友评论
如果做安卓版本适配:如果我要兼容到6.0,compileSdkVersion 到23就可以了吗?还是buildToolsVersion也需要到23?
如果上面的compileSdkVersion 或者buildToolsVersion适配到了23,是不是意味着它就可以在6.0手机上正常运行?
非常感谢!
minSdkVersion 指最小能兼容的手机系统版本;
targetSdkVersion 指适配了的最高的版本的新特性,如6.0(Api23)的动态权限,7.0(Api24)的Fileprovider等.谷歌确实是向下兼容的,如果targetSdkVersion 设为24,应用间共享数据,必须适配Fileprovider,否则就会crash;而targetSdkVersion 设置为23,不做Fileprovider适配也不会出问题.
compileSdkVersion 是编译的版本;
这是现在的理解.
感谢各位回复;
多说一句,targetSdkVersion还是很有用的,你可以仔细百度下。