gradle插件版本, gradle.zip版本, android compileSdkVersion版本的对应关系是怎样对应的?

来源:2-1 本章概述

逐梦稚者

2019-09-18

我在打开新工程的时候,经常会出现插件版本和gradle文件版本不匹配的情况,把插件版本往低改时,不知道应该改成多少,就随便去试,总有一次能试对。
我应该从哪里找到两者的对应关系呢?
图片描述
有时候发现,module里的compileSdkVersion和buildToolsVersion,跟gradle插件的版本也有对应关系,又该从哪里找呢?
compileSdkVersion和buildToolsVersion又是什么对应关系呢?
图片描述
有时候发现compileSdkVersion=22时,buildToolsVersion必须是22.n.n,有时候又不是。

写回答

1回答

逐梦稚者

提问者

2019-11-21

copy from 课后交流群里 @Hello World 的回答。


android studio 是一个集成开发工具,gradle 是一个项目管理 工具,他们二者没有直接的关系,如果要说有关系那么就只能说是通过 android plugin 建立起来的关系.比如,android studio升级版本增加了一个 有助于提高编译效率的功能,但在开发app 时如果支持这种功能呢?这就需要升级你的 android plugin,当然如果你不升级androdi plugin 行不行,当然我觉得是可行的只是你不使用 新增加的功能(但是目前来看,如果Android studio 升级了,有时候会让你强制升级android plugin), android  plugin 是用来管理 编译,打包流程的,注意是流程,具体的编译工作,打包工作还是需要其他工具来实现的,每一个 Android 版本在升级之后,对应的buildToolsVersion也会相应的增加,可能就是一个android版本对应一个android SDk编译工具版本,当然高版本的能够兼容 低版本的,即 buildToolsVersion=25兼容 compileSdkVersion=23,22等等,compileSdkVersion 就是Android 的sdk 版本,你要在哪个版本上开发 app 就写哪个版本,当然对应的buildToolsVersion 也要与之对应。当你升级 compileSdkVersion 时,那么对应的 android plugin 也需要升级,当然并是必须的,要看这个sdk版本是否要求你升级你的androdi plugin(报错有时会提示 最少支持android plugin  几几几)。当然 开发android plugin 是也需要开发库啊,gradle 就是,所以,android plugin 里面的  高级api 也需要高版本的 gradle 支持,所以升级插件 也需要跟着升级 gradle(当然也不是必须的,如果没有使用高级api 也不用升级gradle 当然 报错会提示让不让升级),至于  targetSdkVersion 就是说,你在哪个android 版本上开发的,并不一定一定会在该版本上运行,因为市面上 Android 系统版本有很多,但是一旦不是在你开发的版本上运用,那怎么办呢?那就按你设置的targetSdkVersion 这个版本的行为运行。 buildToolsVersion 和 android plugin 的对应关系官网上有。写的如有错误,还请各位指出。谢谢

1
1
qndroid
好专业的回答啊
2020-04-08
共1条回复

Gradle3.0自动化项目构建技术精讲+企业级案例实操

全面覆盖Gradle核心知识和高级用法,高级工程师必备技能!

877 学习 · 144 问题

查看课程