前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Android Gradle 插件】Gradle 依赖管理 ⑨ ( implementation project 导入依赖库 Module | 导入aar文件作为依赖 | 先配置仓库再导入依赖 )

【Android Gradle 插件】Gradle 依赖管理 ⑨ ( implementation project 导入依赖库 Module | 导入aar文件作为依赖 | 先配置仓库再导入依赖 )

作者头像
韩曙亮
发布于 2023-03-30 07:54:53
发布于 2023-03-30 07:54:53
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

Android Plugin DSL Reference 参考文档 :

一、implementation project 引入 Android Library 类型的 Module 作为依赖库


org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

在 build.gradle#dependencies 配置中 , 使用 implementation project 引入 Android Library 类型的 Module 作为依赖库 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dependencies {
    implementation project (':mylibrary')
    implementation project (path: ':mylibrary', configuration: 'debug')
}

implementation project (':mylibrary') 的函数原型是 org.gradle.api.Project 配置中的 Project project(String path) 函数 , 原型如下 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@HasInternalProtocol
public interface Project extends Comparable<Project>, ExtensionAware, PluginAware {
    /**
     * Creates a dependency on a project.
     *
     * @param notation The project notation, in one of the notations described above.
     * @return The dependency.
     */
    Dependency project(Map<String, ?> notation);
}

参考文档地址 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

implementation project (path: ':mylibrary', configuration: 'debug') 的函数原型是 org.gradle.api.artifacts.dsl.DependencyHandler 配置中的 Dependency project(Map<String, ?> notation) 函数 , 原型如下 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public interface DependencyHandler extends ExtensionAware {
    /**
     * Creates a dependency on a project.
     *
     * @param notation The project notation, in one of the notations described above.
     * @return The dependency.
     */
    Dependency project(Map<String, ?> notation);
}

文档位置 : https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/dsl/DependencyHandler.html

二、引入 aar 文件作为依赖


org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

引入 aar 文件作为依赖 , 需要为该 aar 文件指定一个仓库 , 然后才能使用该依赖库 ;

先准备一个 aar 文件 , 这里从 Y:\001_DevelopTools\002_Android_SDK\extras\android\m2repository\com\android\support\percent\22.2.0 目录中 , 拷贝出 percent-22.2.0.aar 文件 , 作为示例依赖库 ;

这是 SDK 自带的 aar 文件 , 每个 SDK 都有该文件 ;

将 percent-22.2.0.aar 文件拷贝到 app/libs 目录下 ;

在 build.gradle 中配置 repositories#flatDir , 可以将文件或目录指定为仓库 ;

然后在 dependencies 中指定 aar 名称 和 后缀名 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repositories {
    flatDir {
        // 将 libs 目录制定为仓库
        dir('libs')
    }
}

dependencies {
    implementation name:'percent-22.2.0', ext: 'aar'
}

一般的 aar 文件都需要指定一个 pom 文件 , 用于指定该 aar 有哪些依赖 ;

该 percent-22.2.0.aar 对应的 pom 文件 percent-22.2.0.pom 如下 : 该 aar 包依赖 com.android.support 组下的 support-v4 函数库 , 版本号为 22.2.0 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.android.support</groupId>
  <artifactId>percent</artifactId>
  <version>22.2.0</version>
  <packaging>aar</packaging>
  <dependencies>
    <dependency>
      <groupId>com.android.support</groupId>
      <artifactId>support-v4</artifactId>
      <version>22.2.0</version>
      <type>aar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Android Gradle 插件】Gradle 依赖管理 ④ ( Android Gradle 插件中注册的依赖分组 | implementation | api | compileOnly )
添加构建依赖项 参考文档 : https://developer.android.google.cn/studio/build/dependencies
韩曙亮
2023/03/30
5590
【Android Gradle 插件】Gradle 依赖管理 ④ ( Android Gradle 插件中注册的依赖分组 | implementation | api | compileOnly )
【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★
org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
韩曙亮
2023/03/30
3K0
【Android Gradle 插件】Gradle 依赖管理 ① ( org.gradle.api.Project 配置 | Android Gradle 插件配置与 Gradle 配置关联 ) ★
【Android Gradle 插件】Gradle 依赖管理 ⑦ ( dependencies 传递依赖设置 | transitive 关闭依赖传递配置 | exclude 排除子依赖配置 )
默认情况下 , 在 build.gradle 中配置 com.facebook.fresco:fresco:0.14.0 依赖 ,
韩曙亮
2023/03/30
9620
【Android Gradle 插件】自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )
org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
韩曙亮
2023/03/30
5990
【Android Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle 中的扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 )
org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
韩曙亮
2023/03/30
3K0
【Android Gradle 插件】Gradle 扩展属性 ② ( 定义在根目录 build.gradle 中的扩展属性 | 使用 rootProject.扩展属性名访问 | 扩展属性示例 )
【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )
在插件模块中的 src/main 目录 下创建 groovy 目录 , 用于存放 Groovy 代码 , 在其中定义包名以及包名下的源码 :
韩曙亮
2023/03/30
1.7K0
【Android Gradle 插件】自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 )
【Android Gradle 插件】Gradle 依赖管理 ⑥ ( dependencies 依赖查找路径 | dependencies 依赖冲突 | dependencies 依赖库层级分析 )
在我的电脑的 SDK\extras\android\m2repository\com\android\support 路径中 , 就是依赖中常用的支持库 :
韩曙亮
2023/03/30
1.7K0
【Android Gradle 插件】Gradle 依赖管理 ⑥ ( dependencies 依赖查找路径 | dependencies 依赖冲突 | dependencies 依赖库层级分析 )
【Android Gradle 插件】Android Library 依赖库混淆配置 ( ProductFlavor#consumerProguardFiles 配置 | 依赖库混淆配置 )
ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html
韩曙亮
2023/03/30
5020
推荐阅读
相关推荐
【Android Gradle 插件】Gradle 依赖管理 ④ ( Android Gradle 插件中注册的依赖分组 | implementation | api | compileOnly )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文