写点什么

深入解析 Android-Studio 中 Gradle 依赖,flutter 扫描二维码

用户头像
Android架构
关注
发布于: 55 分钟前

//module 需要在项目根目录下的 settings.gradle 中通过 include 引入 implementation project(':librarydict')


2、本地二进制 library 依赖:jar 和 aar:


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


// 可以一条依赖引入 libs 下所有的 jarimplementation fileTree(dir: 'libs', include: ['*.jar'])


// 也可以指定依赖某一个或几个 jarimplementation files('libs/dict-v120.jar', 'libs/download-v151.jar')


依赖 aar:


// 在 module 的 build.gradle 中增加如下语句:


repositories {flatDir {dirs 'libs'}}


// 可以一条依赖引入 libs 下所有的 aarimplementation fileTree(dir: 'libs', include: ['*.aar'])


// 也可以指定依赖某一个 aarimple


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


mentation (name: 'library-download', ext: 'aar')


3、远程二进制 library 依赖:


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


// 依赖明确的版本,标明 group、name 和 versionimplementation group: 'com.android.demo', name: 'library-dict', version: '1.2.0'


// 通常按照如下方式简写即可 implementation 'com.android.demo:library-dict:1.2.0'


// 也可以不指定版本,将 version 改为"+",当远程仓库有更新的版本后,构建时会拉取最新的版本。// 好处是可以始终依赖最新的 library;弊端是有可能 library 的改动导致编译不过或者功能变更不// 稳定,因为每次都需要检查是否有最新版本,所以构建效率会低一些 implementation 'com.android.demo:library-dict:+'


// 对于有多个 APP,依赖内部统一 SDK 的情况时,可以将 gradle 文件放在服务器,远程控制统一依// 赖版本,避免因为各个 APP 依赖的 SDK 版本不统一导致很难管理和维护// 远程http://172.28.2.93/remote/library-config.gradle:ext.libraryBuildConfig = [deps: ["dict-library" : 'com.android.demo:library-dict:1.2.0',"download-library" : 'com.android.demo:library-download:1.5.1',]]


// 项目根目录下的 build.gradle 全局引入:apply "http://172.28.2.93/remote/library-config.gradle"


ext {dependencies = ["dict-library" : libraryBuildConfig.deps.'dict-library',"download-library" : libraryBuildConfig.deps.'download-library',]}


// 在 module 的 build.gradle 中依赖:implementation rootProject.ext.dependencies["dict-library"]implementation rootProject.ext.dependencies["download-library"]


总结如下:



二、不同依赖配置方式的区别:compile、implementation、api

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
深入解析Android-Studio中Gradle依赖,flutter扫描二维码