Android 相关工具插件版本经验总结

一、Gradle version与Android Gradle Plugin version区别:

官网给出这两种的关系如下:
The Android Studio build system is based on Gradle, and the Android plugin for Gradle adds several features that are specific to building Android apps. Although the Android plugin is typically updated in lock-step with Android Studio, the plugin (and the rest of the Gradle system) can run independent of Android Studio and be updated separately.

简单来说就是:
AndroidStudio构建系统依赖于Gradle,而为了构建Android apps,Android Plugin for Gradle 新增了一些特性。而这个Plugin又是独立更新的,但也会对应着相关的Gradle版本。

1、Gradle version:
Gradle的版本在gradle-wrapper.properties文件夹中配置,如:

distributionUrl = https\://services.gradle.org/distributions/gradle-5.4.1-all.zip


2、Android Gradle Plugin version:
其版本在build.gradle文件中配置,如:

buildscript {
    dependencies {
        classpath "com.android.tools.build:gradle:3.5.1" 
    }
}

其中重要的是这两个版本有对应的版本关系,如果不对应编译时就会出现问题,下图便是官网列出的两者版本对应关系:

Google将更新 Android Gradle 插件 (AGP) 的版本号规则,以使其更接近底层 Gradle 构建工具。因此,AGP 7.0 将是继 AGP 4.2 之后的下一个版本。

 

注:Android Plugin Version都是基于某个版本的build tools(下面有介绍)开发的,如:

即如果使用了android gradle plugin version版本为5.4.1,那么需要使用sdk build tools版本为28.0.3及以上版本。

一般Android在发布时,会声明依赖的版本:

参考:https://developer.android.com/studio/releases/gradle-plugin.html#revisions

二、compileSdkVersion与buildToolsVersion区别:

1、compileSdkVersion:

编译版本号,是SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。是告诉gradle 用哪个SDK版本来编译,和运行时要求的版本号没有关系;使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。

2、buildToolsVersion:

buildeToolVersion是android构建工具的版本,其中包括了打包工具aapt、dx等等,这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX。在SDK Manager中安装选择版本,buildToolsVersion的版本需要>=compileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序。【buildToosVersion一般可以不设置,不设置的话默认会使用最新版本】

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.hongri.webview"
        minSdkVersion 16
        targetSdkVersion 28
    }
}

三、Android SDK 功能解析

SDK的目录中比较重要的目录主要包括【build-tools】【platforms】【platform-tools】【tools】,其作用如下:

1、【build-tools】里面是不同版本(例如21.1.1)的build工具,这些工具包括了aapt打包工具、dx.bat、aidl.exe等等

2、【platform】是存放不同API-level版本SDK目录的地方

3、【platform-tools】是一些android平台相关的工具,adb、fastboot等

4、【tools】是指的安卓开发相关的工具,例如android.bat、ddms.bat(Dalvik debug Monitor Service)、draw9patch.bat等等



 

参考:

Gradle各版本下载

AGP Release Notes

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红日666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值