Android Roadasandroid常见问题

打aar混淆包和集成aar的方法

2016-04-23  本文已影响9002人  韦东锏

最近项目中有用到发布混淆aar的需求,网上有很多方法,但都不够全面,这里把自己整理的结果做个汇总,避免重复收集浪费时间

环境要求

android studio(该方法是针对AS的)

初始需求

把你项目中的某一个模块,打包成一个混淆的aar,集成到其他的项目中,同事暴露的接口不混淆,你这个aar的依赖库跟其他项目的依赖库不能冲突

需求详情

假设目前的项目有三个module,A, B, C,A是application类型,B, C是library,关系是A依赖B,B依赖C,现在要把B模块打包成一个混淆的aar发布给其他的项目使用,其他项目拿到B的aar以后,集成要OK,并且依赖没问题

好,背景情况介绍完了,下面是解决方法

1 依赖关系剥离
把B模块中的一些依赖的库全部移到C中,比如网络库,图片库和其他第三方的库,统统剥离,放到C中,B只是一个纯粹的实现某个需求一个模块库,不包含其他任何第三方依赖库,这种剥离是为了方便后期其他项目的接入

2 配置B的混淆

3 生成aar
*生成aar非常简单,只要运行项目,在对应的build路径下会自动生成aar,比如我这个demo项目的aar路径是:

E:\practise\AarDemo\mylibrary\build\outputs\aar
里面有两个aar,一个是debug,一个是release,拿release那个,debug那个是没有混淆的

4 发布aar

结束语

aar的依赖其实网上很多了,我这里只是针对我目前的这个需求,做了一个整理,避免以后有同样的需求,还盲目的查找资料

我传了一个demo到github上面,可以参考下。

上一篇下一篇

猜你喜欢

热点阅读