android-fat-aar 项目技术文档
1. 安装指南
1.1 项目状态
当前项目已不再维护,开发者不再参与开发,因此无法提供bug修复或测试pull request。如果你在使用该项目,并且有能力维护,欢迎接手并成为项目的一部分。
1.2 替代方案
你可以查看 fat-aar-plugin,该项目尝试使用插件解决相同的问题。
2. 项目的使用说明
2.1 项目简介
android-fat-aar
是一个Gradle脚本,允许你将依赖项合并并嵌入到生成的aar文件中。通过这个Fork版本,你可以嵌入.aar
文件。
2.2 项目优势
- 模块化结构:可以在项目中保持模块化结构,同时发布一个单一的库。
- 代码混淆:可以对合并后的代码进行混淆,而不是对每个子项目分别进行混淆。
2.3 项目限制
- Manifest占位符:不支持由应用程序填充的Manifest占位符。
- AIDL文件合并:不支持AIDL文件合并。
- 多构建类型:仅支持单一构建类型(release)。
3. 项目API使用文档
3.1 应用Gradle文件
要使用该项目,只需将fat-aar.gradle
文件复制到你的项目目录中,然后在build.gradle
文件中应用该脚本:
apply from: 'fat-aar.gradle'
或者直接从URL应用:
apply from: 'https://raw.githubusercontent.com/adwiv/android-fat-aar/master/fat-aar.gradle'
3.2 定义嵌入依赖
在dependencies
部分,将你希望合并到aar文件中的依赖项的compile
关键字替换为embedded
。例如:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
embedded project(':librarytwo')
embedded project(':libraryone')
embedded project('com.example.internal:lib-three:1.2.3')
compile 'com.example:some-other-lib:1.0.3'
compile 'com.android.support:appcompat-v7:22.2.0'
}
3.3 移除嵌入依赖的导出列表
嵌入子项目后,确保使用你的库的任何人不会解析嵌入的项目作为传递依赖项,否则会导致类重复错误。
如果你在同一个项目中使用该库(例如在测试应用中),可以将库依赖定义为非传递性:
compile (project(':applibrary')) {
transitive false
}
对于外部客户端或在另一个项目中使用,可以通过从生成的pom.xml
文件中移除这些依赖项来实现。可以使用maven-publish
插件生成pom.xml
文件。
4. 项目安装方式
4.1 直接应用Gradle文件
将fat-aar.gradle
文件复制到项目目录中,并在build.gradle
文件中应用该脚本。
4.2 从URL应用
直接从GitHub的URL应用fat-aar.gradle
文件。
通过以上步骤,你可以成功使用android-fat-aar
项目,将依赖项合并并嵌入到生成的aar文件中。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考