便捷的将你的项目作为SDK---用aar代替过时的jar
来源:互联网 发布:日本中国夏令营知乎 编辑:程序博客网 时间:2024/06/05 20:50
背景知识
这几天接了一个需求,要把项目整个打包作为SDK给别的公司用
首先想到的就是采用jar包的形式把代码打包,再把资源文件拷进ja包r里,用反射的方式去获取资源id
但是由于时间紧迫,要求当天就要有产出,无奈只能先行百度下,看下有没有什么便捷的方案,无意当中就看到aar包,经过试验完美符合预期,所以写一篇博文用于记录,便于以后回忆
使用工具
Android Studio
使用说明
首先使用Android Studio建立一个lib项目
然后把你的项目代码和资源都移植到lib module里
然后配置项目属性,把你的项目里的签名(用于第三方分享或者登陆)还有混淆文件配置到lib module中
signingConfigs { config1 { keyAlias '' keyPassword '' storeFile file('') storePassword '' }}buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config1 }}
然后
点击assembleRelease脚本
你会在module目录下的build/outputs/aar下面找到一个release.aar
然后你把这个压缩包解压,把里面的classes.jar作为lib导入到一个项目中(Android Studio自带反编译功能)查看下项目代码是否已经混淆,混淆的程度是否满足你的预期(辛辛苦苦写的代码 随随便便给别人拿走可不好),记住你提供的入口API文件千万不要混淆,不然别人在引用的时候会找不到该类,确认无误了,可以写一个小demo,放一个button,点击事件里就填上你提供的API,看下是否能正确跳转或者调用
顺便补充一点,如果怕和别的项目在资源ID:比如string,dimen上产生冲突,可以写一个脚本,在你的资源名称前加上你公司或者项目特有的前缀
发布aar
把你要发布的aar,和该aar说依赖第三方的库整理好,一起给要新的项目,新的项目如果已经有依赖那些第三方的库,则无需重新依赖,对于没有依赖的,就要配置依赖关系,这个就是第一步剥离依赖的好处,避免多余的依赖,可以把你的jar包放在aar包里,也没有问题
在新的项目的application模块的libs文件夹下面放上该aar文件,同时在该模块对应的build.gralde中加上下面的配置
dependencies { compile(name:'mylibrary-release', ext:'aar') }repositories{ flatDir{ dirs 'libs' } }
好了一个小时不到,你的完整项目已经可以被别的公司快捷使用,代码也混淆了,保持了应有的私密性
如果你觉得对你有帮助,需要转载,请注明出处
- 便捷的将你的项目作为SDK---用aar代替过时的jar
- *.jar 与 *.aar 的生成与*.aar导入项目方法
- setbackgrounddrawable过时的代替方法
- Android studio 创建sdk (jar和 aar) 的方法
- 打包jar,aar的命令
- aar和jar的区别
- *.jar *.aar文件的生成
- aar和jar的区别
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- Android Studio中jar与aar 的生成与aar导入项目方法
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- aar中引用的第三方jar与引用aar项目重复解决方案
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- 利用jsp+uploadify插件实现附件下载
- ios emoji表情的保存
- 利用MediaRecoder类进行音频录制,自己试试哦
- Android Studio 图片报错问题
- iOS歌词渐变的实现
- 便捷的将你的项目作为SDK---用aar代替过时的jar
- git的使用
- Intellij tomcat内存不足
- 【代码向】简易计算器逻辑
- c#的加密AES——base64
- Android Activity中Intent的一些见解
- 安卓4.0通知栏沉浸式写法+自定义标题栏设置
- 在存储过程中SET XACT_ABORT ON 有什么用
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte