gradle 之compileSdkVersion,buildT

作者: 666swb | 来源:发表于2016-06-03 15:59 被阅读8307次

新建一个项目,看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就好了,那么它的对应版本号怎么查看呢,看下图吧

shot-comileSdkVersion.png

注意:minSdkVersion, targetSdkVersion 的版本,也在上图中查找哦

2. buildToolsVersion

表示:构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX, 当前对应的版本有那些呢,如下图吧

QQ图片20160603152352.png

注意:你可以用高版本的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'

shot-support.png

或者看我的文章:http://www.jianshu.com/p/cd8aa9693849

相关文章

网友评论

  • Android小猿:文章写得很棒,评论区的内容也很好。(有时评论区就是大牛出没的地方)
  • Focus19:请教一下问题:
    如果做安卓版本适配:如果我要兼容到6.0,compileSdkVersion 到23就可以了吗?还是buildToolsVersion也需要到23?
    如果上面的compileSdkVersion 或者buildToolsVersion适配到了23,是不是意味着它就可以在6.0手机上正常运行?
    非常感谢!
    Focus19:Andrdoid studio3.0在build.gradle 取消了buildToolsVersion;
    minSdkVersion 指最小能兼容的手机系统版本;

    targetSdkVersion 指适配了的最高的版本的新特性,如6.0(Api23)的动态权限,7.0(Api24)的Fileprovider等.谷歌确实是向下兼容的,如果targetSdkVersion 设为24,应用间共享数据,必须适配Fileprovider,否则就会crash;而targetSdkVersion 设置为23,不做Fileprovider适配也不会出问题.

    compileSdkVersion 是编译的版本;

    这是现在的理解.
    感谢各位回复;
    ipursue:一般来说,你写的app向上支持是自动支持的,和target和compile没什么关系,除非google发布安卓新版本时强调了(一般不可能,这会导致很多现有app不能运行,哪家公司敢这么干?至少给个适应期)。但是你可以指定你的app的向下支持,比如至少运行在4.0,4.0以下的就不支持了,所以又一个minSdkVersion。
    多说一句,targetSdkVersion还是很有用的,你可以仔细百度下。
    666swb:@天道酬勤1919 如果需要6.0,那个targetSdkVersion需要到23,因为compileSdkVersion 这个是编译版本,就是打包apk时用的,而targetSdkVersion这个决定了你最高兼容的版本,buildToolsVersion查看一下响应的对应一下就好!
  • kk041kk:路过
    666swb:@kk041kk 谢谢,哈哈

本文标题:gradle 之compileSdkVersion,buildT

本文链接:https://www.haomeiwen.com/subject/dpxldttx.html