劳务调派系统Gradle依赖" class="aligncenter size-medium wp-image-31307" title="gradle" src="/uploads/allimg/c190111/154G50A2644F-13S9.jpg" />
之前对 Android Gradle 构建的依赖一直傻傻分不清,这段时间正好接入团体的一个二方库,踩了许多坑,也顺带把 Gradle 依赖这块搞清楚了,主要整理了下 Gradle 依赖的范例、依赖设置、如何查察依赖、依赖斗嘴如何办理。
依赖范例
dependencies DSL 标签是尺度 Gradle API 中的一部门,而不是 Android Gradle 插件的特性,昆山软件开发,所以它不属于 Android 标签。
依赖有三种方法,如下面的例子:
apply plugin: 'com.android.application' android { ... } dependencies { // Dependency on a local library module implementation project(":mylibrary") // Dependency on local binaries implementation fileTree(dir: 'libs', include: ['*.jar']) // Dependency on a remote binary implementation 'com.example.android:app-magic:12.3' }
当地 library 模块依赖
implementation project(":mylibrary")
这种依赖方法是直接依赖当地库工程代码的(需要留意的是,mylibrary 的名字必需匹配在 settings.gradle 中 include 标签下界说的模块名字)。
当地二进制依赖
implementation fileTree(dir: 'libs', include: ['*.jar'])
这种依赖方法是依赖工程中的 module_name/libs/ 目次下的 Jar 文件(留意 Gradle 的路径是相对付 build.gradle 文件来读取的,所以上面是这样的相对路径)。
假如只想依赖单个特定当地二进制库,可以如下设置:
implementation files('libs/foo.jar', 'libs/bar.jar')
长途二进制依赖
implementation 'com.example.android:app-magic:12.3'
上面是简写的方法,这种依赖完整的写法如下:
implementation group: 'com.example.android', name: 'app-magic', version: '12.3'
group、name、version配合定位一个长途依赖库。需要留意的点是,version最好不要写成”12.3+”这种方法,除非有明晰的预期,因为非预期的版本更新会带来构建问题。长途依赖需要在repositories标签下声明长途客栈,譬喻jcenter()、google()、maven客栈等。
依赖设置
今朝 Gradle 版本支持的依赖设置有:implementation、api、compileOnly、runtimeOnly 和 annotationProcessor。已经废弃的设置有:compile、provided、apk、providedCompile。另外依赖设置还可以加一些设置项,譬喻 AndroidTestImplementation、debugApi 等等。
常用的是 implementation、api、compileOnly 三个依赖设置,寄义如下:
查察依赖树
可以查察单个module可能这个project的依赖,通过运行依赖的 Gradle 任务,如下:
依赖斗嘴办理
跟着许多依赖插手到项目中,不免会呈现依赖斗嘴,呈现依赖斗嘴如何办理?
定位斗嘴