转载请注明出处:
牵手生活--简书:笔记是整理思路方式,分享是一个美德,牵手是我的生活方式
涉及的知识要点
- Android studio 创建工程库(aar)
- 其他module如何直接引用aar工程(build.gradle配置)
- 其他module如何引用aar文件(注意需要用release版本)
- 如何上次到Nexus私服(等待细化)
- android studio工程替换AAR包不生效
- aar的混淆仅混淆自己及libs中的jar包代码,不混淆build.gradle引用的第三方代码
创建aar公共库
参见:
Android Studio创建Android公共库模块
Android Studio多Module使用 aar 依赖包 丢包解决
AndroidStudio中多个Module依赖同一个jar的解决方案--阿里云
AndroidStudio中多个Module依赖同一个jar的解决方案-csdn
导入一个AndroidStudio工程作为一个Library Module
Merged Manifest合并清单的效果并找出冲突错误
Android Studio】AS使用小技巧,拷贝module到另一个项目
注意点:
- 1、AndroidManifest.xml中的package 名字必须与build.gradle中的applicationId一支
- 2、无法访问android:src="@drawable/icon资源,需要修改如android:src="@mipmap/ic_launcher"
- 3、如果aar中使用了包含有jar包,可能造成jar冲突(最好改为gradle 引用)
比如引用:XposedBridgeApi-82.jar
改为
/*
provided 'de.robv.android.xposed:api:53'
provided 'de.robv.android.xposed:api:53:sources'
*/
provided 'de.robv.android.xposed:api:82'
provided 'de.robv.android.xposed:api:82:sources'
aar提交给他人使用时注意点:
1:添加到在aar工程中的不需要再次被应用
2:android studio工程替换AAR包不生效
android studio工程替换AAR包不生效
nnd 实在不行做了下面的工作
把
/导入wechatdb-release 去要添加如下依赖包/
compile (name: 'wechatdb-release', ext: 'aar')
替换为
api (name: 'wechatdb-release', ext: 'aar')
混淆注意实现
aar项目引入到libs的jar可以被混淆
build.gruid引入的其他库不会被混淆(比如Gson,还需要在引用该aar的工程做混淆)
其他问题:
打包成aar的工程有第三方jar包,生成aar后,里面的jar无法引用,怎么解决
https://zhidao.baidu.com/question/754280550951778764.html
androidstudio 引用本地aar文件 和aar文件中包含jar该如何引用
https://blog.csdn.net/m0_37559046/article/details/56284551
Android Studio多Module使用 aar 依赖包 丢包解决
https://www.cnblogs.com/bluestorm/p/6757999.html
参考文献:
Android Studio创建Android公共库模块
AndroidStudio发布公共类库到Maven仓库(Nexus)