gradle 部分jar导入报错_弄懂Gradle依赖 Android依赖导入全攻略

本文详述了在Android Studio 3.0环境下管理Gradle依赖的各种方法,包括Implementation、api、compileOnly等引入方式。讨论了远程仓库依赖、本地jar包、aar包、so文件的导入,并提供了冲突解决策略。此外,还提到了编译期注解的dependency——annotationProcessor的使用。最后,文章列举了常见的问题和解决方案,如aar包资源文件重复、AndroidManifest合并错误等。
摘要由CSDN通过智能技术生成

原标题:弄懂Gradle依赖 Android依赖导入全攻略

本文作者

作者:大头呆

链接:

https://juejin.im/post/5acd6daaf265da238a30ca73

本文由作者授权发布。

在我们开发安卓项目的时候,不会所有的功能都自己去造轮子,经常要使用到各种的其他包,其中有谷歌给我们提供的各种support包,也有各种第三方的功能库,有时候我们自己也会将一些功能封装成包。这些包存在和导入的形式也多种多样,有远程仓库的,有直接拷贝到本地的,jar包、aar包、so包等。所幸我们都可以在主工程和各个Module的build.gradle里进行统一管理。本文将在Android Studio3.0环境下来汇总下这些用法。

1

预备知识

先来看下Android Gradle plugin 3.0几个引入依赖的方法:

Implementation

对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。

使用implementation会使编译速度有所增快:比如我在一个library中使用implementation依赖了gson库,然后我的主项目依赖了library,那么,我的主项目就无法访问gson库中的方法。这样的好处是编译速度会加快,我换了一个版本的Gson库,但只要library的代码不改动,就不会重新编译主项目的代码。

api

等同于compile指令

compileOnly

等同于provided,只在编译时有效,不会参与打包,不会包含到apk文件中。可以用来解决重复导入库的冲突(下文会提到)。

更多细节内容可以看下这篇文章

https://blog.csdn.net/silenceoo/article/details/78735687

2

远程仓库依赖

我们先来看下主工程下的build.gradle文件

build {

ext.kotlin_version = '1.1.51'

repositories {

google()

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:3.0.1'

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

// NOTE:Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值