Android工作室项目中Gradle依赖的作用是什么

  

Android工作室项目中Gradle依赖的作用是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>一、不同类型的图书馆引入方案:

<强> 1,本地模块库依赖:

通过这种方式依赖的弊端是每次都需要构建模块,当模块比较多时构建非常耗时,建议控制模块的依赖数量,避免构建耗时

//模块需要在项目根目录下的settings.gradle中通过包括引入   implementation 项目(& # 39;:librarydict& # 39;)

<强> 2,本地二进制库依赖:jar和aar:

本地的jar和aar需要放,那在模块的libs文件夹下,通过这种方式依赖的弊端是不知道jar和aar的版本号,如果要按照这种方式依赖,建议将jar/aar的名字加上版本信息,方便确认版本

依赖jar:

//,可以一条依赖引入库下的所有的jar   implementation  fileTree (dir: & # 39;填词# 39;,,包括:,(& # 39;* . jar # 39;])//,也可以指定依赖某一个或几个jar   implementation 文件(& # 39;libs/dict-v120.jar& # 39;,, & # 39; libs/download-v151.jar& # 39;)

依赖aar:

//,在模块的build.gradle中增加如下语句:,   repositories  {   ,flatDir  {   dirs 才能;& # 39;填词# 39;   ,}   }//,可以一条依赖引入库下的所有的aar   implementation  fileTree (dir: & # 39;填词# 39;,,包括:,(& # 39;* . aar # 39;])//,也可以指定依赖某一个aar   implementation (名字:& # 39;library-download& # 39;,, ext:, & # 39; aar # 39;)

<强> 3,远程二进制库依赖:

为了安全起见,建议搭建公司内部的私有maven仓库,统一管理依赖的图书馆,公司内部的公共图书馆不要使用公共的maven仓库。通过这种方式依赖相比于前两种方案都要更优,且配置灵活,可以根据实际需求调整

//,依赖明确的版,本标明集团名称和版本   组:implementation  & # 39; com.android.demo& # 39;,,名字:,& # 39;library-dict& # 39;,,版本:,& # 39;1.2.0& # 39;//,通常按照如下方式简写即可   implementation  & # 39; com.android.demo: library-dict: 1.2.0& # 39;//,也可以不指定版本,将改版本为“+”,当远程仓库有更新的版本后,构建时会拉取最新的版本。//,好处是可以始终依赖最新的图书馆;弊端是有可能图书馆的改动导致编译不过或者功能变更不//,稳定,因为每次都需要检查是否有最新版本,所以构建效率会低一些   implementation  & # 39; com.android.demo: library-dict: + & # 39; //,对于有多个应用,依赖内部统一SDK的情况时,可以将gradle文件放在服务器,远程控制统一依//,赖版本,避免因为各个应用依赖的SDK版本不统一导致很难管理和维护//,远程http://172.28.2.93/remote/library-config.gradle   ext.libraryBuildConfig =, (   ,deps: [   “dict-library"才能,,,,,,,& # 39;com.android.demo: library-dict: 1.2.0& # 39;   “download-library"才能,,,,,,& # 39;com.android.demo: library-download: 1.5.1 # 39;   ,)   ]//,项目根目录下的build.gradle全局引入:   apply “http://172.28.2.93/remote/library-config.gradle"      ext  {   ,dependencies =, (   “才能dict-library",,:,本市libraryBuildConfig.deps # 39; dict-library& # 39;   “才能download-library",:,本市libraryBuildConfig.deps # 39; download-library& # 39;   ,)   }//,在模块的build.gradle中依赖:   implementation  rootProject.ext.dependencies (“dict-library")   implementation  rootProject.ext.dependencies (“download-library")

总结如下:

 Android工作室项目中Gradle依赖的作用是什么

<强>二,不同依赖配置方式的区别:编译实现,api

从Android 3.0 Gradle插件开始,对于依赖包的配置方式,引入了实现和api,使用Android工作室新建项目时,原来用编译的地方全部默认被替换成了实现比如:

dependencies  {   ,compile  fileTree (dir: & # 39;填词# 39;,,包括:,(& # 39;* . jar # 39;])   ,compile  & # 39; com.android.support: appcompat-v7:27.1.1& # 39;   ,compile  & # 39; com.android.support.constraint: constraint-layout: 1.1.3 # 39;   }

变成下面的样子:

dependencies  {   implementation 才能;fileTree (dir: & # 39;填词# 39;,,包括:,(& # 39;* . jar # 39;])   implementation 才能;& # 39;com.android.support: appcompat-v7:27.1.1& # 39;   implementation 才能;& # 39;com.android.support.constraint: constraint-layout: 1.1.3 # 39;   }

Android工作室项目中Gradle依赖的作用是什么