gradle版本区别(gradle中api、implementation和compile的区别)

本文目录
- gradle中api、implementation和compile的区别
- android 为什么不同gradle版本会影响三方库
- 关于build.gradle四个版本号的含义
- android studio gradle版本越高越好吗
gradle中api、implementation和compile的区别
我们在gradle中引用第三方maven库时,一般通过下面的语句去引用:
然后sync project,就能成功引用对应的包到项目之中了,十分方便。除了使用compile关键字,使用implementation和api也能将包引用到项目中:
看起来这三个关键字的作用是一样的,那么,他们到底有什么区别呢?
api和compile关键字作用效果是一样的,使用时可以互相替换。实际上,api关键字是用来替代compile关键字的,因为compile关键字将来会被弃用。在高版本的gradle,使用compile关键字会报错并提示使用api关键字代替:
在同一个module下,implementation和compile的使用效果相同,但是在不同module下,就会有所区别了。举个例子,在项目中有一个名为action的module,其gradle配置文件中引用了两个包:
然后在app module中引入action module:
如果此时你尝试在app module中引入action module在gradle中配置的两个maven库,你会发现,使用implementation关键字的appcompat-v7包无法在app module中使用,而使用compile关键字的design包则可以使用。
这样,两个关键字的区别就显而易见了, api或compile关键字引用的包对于其他module来说是可见的,而implementation关键字引用的包对于其他module来说是不可见的。
android 为什么不同gradle版本会影响三方库
因为不兼容。
Jar文件,so文件,Library库文件,aar文件,远程jcenter、maven仓库文件。这几种引入方式各有利弊,对应的gradle配置也有所不同,本文根据平时的使用经验,做一个简单的总结,帮助大家更好的利用Gradle引入第三方库文件。
一个优秀的第三方库一般会提供多种方式的引入,考虑到Eclipse和AS用户,至少要包含Jar文件和Gradle构建这两种,其他一些供应者会根据自己的功能模式提供其他引入方式,比如七牛云存储便提供了aar的引入方式。大家可以根据自己的项目需求选择合适的引入方式,毕竟,适合自己的才是最好的。
关于build.gradle四个版本号的含义
在一个Android studio的项目中,每一个module的build.gradle文件里面都标明了四个版本号,他们分别是
compileSdkVersion , buildToolsVersion , minSdkVersion , targetSdkVersion
很多人都不是很能弄清楚这四个版本的区别。在这里我 仅发表个人理解,如果有错,希望指正
解决的方法已经在错误日志当中提到了,在manifest文件中添加
调用requestPermissions进行申请权限
在onRequestPermissionsResult进行权限申请后结果的处理
如果将 targetSdkVersion 设置成 《23 ,那么在6.0及以上的设备上就不会以6.0的新特性来运行了,当然也不需要动态申请了。
如果上述有什么不对的地方,或者表达不清楚的地方,还请指正。
android studio gradle版本越高越好吗
这种脚本语言应该不是特别复杂,很好做到对低版本的兼容性
不像android的系统,有方方面面的东西需要考虑
所以如果有新版本的gradle就升级就好了

更多文章:
illustrator举例说明(illustrator选择工具和直接选择工具有什么不同啊)
2026年4月3日 07:30
结构体类型名称是什么(什么是结构体类型C语言中结构体类型占几个字节)
2026年1月27日 07:15
css高度自适应(CSS3如何固定图片宽度使图片高度按图片比例自适应)
2025年9月3日 02:45
mapreduce的实现原理(Hadoop技术内幕的内容介绍)
2025年11月16日 03:30
culture shock阅读理解(你好,完形填空I understand culture shock, i’ve been答案你有了吗)
2025年10月15日 21:45
private owner(求一篇 关于国外二手车交易现状的英文文章)
2025年6月10日 08:15
bool类型几个字节(C++定义bool类型的最小存储空间是多大)
2025年7月5日 02:15
手机号码的正则表达式(求国际手机号码完整正则表达式,哪位大侠有)
2026年6月1日 11:30
illustrator怎么记住(illustrator中释放到图层和粘贴时记住图层是什么意思)
2026年1月16日 13:15














