分享

[Github] 发一个自己写的将 android 依赖库打包进 aar 的插件,请大家多指教哈~

 android_park 2020-02-22

大家如果使用过 android 打包的 aar 文件,就会知道 android 打包生成的 aar 文件里面不包含依赖的库,app 模块使用 aar 文件时还得重新导入 aar 文件依赖的库,如果 aar 文件还依赖了一个本地 aar,那么 app 模块使用的时候还得把这个本地 aar 文件拷贝到 libs 目录。

如果不想将 aar 发布到 maven 库的话,这个特性或者缺陷在公司合作中会显得很不舒服,这里有一些关于这个问题的讨论:讨论 1讨论 2

曾经也有人发布过解决方案, 可惜作者不再维护,在 android gradle 3.0 以上基本不能用.

于是我开发了此插件,能将依赖库直接打包进 aar 文件,app 模块在使用 aar 文件时无需再重新引入依赖库:https://github.com/cpdroid/fat-aar

以上,请大家多多拍砖,多多指教~


以下是用法

在根目录的 build.gradle 文件里面添加如下语句:

buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.cpdroid:fat-aar:1.0.0'
  }
}

library 工程的 build.gradle 里面添加如下语句:

apply plugin: 'com.android.library'
apply plugin: "com.cpdroid.fat_aar"

确保 'com.cpdroid.fat-aar' 在'com.android.library'后面

用关键字 "embedded" 替代 "implementation" 或者 "compile" 就可以把依赖的库打包进你的 aar 文件:

embedded fileTree(dir: 'libs', include: ['*.aar'])
embedded project(':moduleA')
embedded 'com.gongwen:marqueelibrary:1.1.3'

运行 gradle 任务, 一般来说是 "assembleRelease", 把生成的 aar 文件复制进 app 模块的 libs 目录

示例

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多