Android问题以及解决方案-组件化开发混淆文件不起作用

组件化开发混淆文件不起作用?

明明在混淆文件里添加了各种第三方库的混淆配置,为什么在混淆开关打开时打正式包后会报错?这TM为什么呢?到底是为什么呢???

什么是组件化开发?

采用组件化开发的应用越来越多,稍微有点大的项目都会采用组件化。不禁问为什么呢?当然是有很多优点,不然不会那么多人那么多公司会采用这种方案。

到底有什么优点?召唤传送门!!!---》》》 “终于懂了” 系列:Android组件化,全面掌握!

那混淆是个什么?

作为开发者,写好的业务代码打包上线后,不会希望有人反编译之后看到本来要保密的但是是裸奔的代码吧。

混淆:把代码变成无规律无明显标识的超级难读的代码。

因为一些三方库,sdk或者业务需求,某些代码不需要混淆,这时候需要混淆文件来写一些不需要混淆的规则代码。

混淆有什么规则?再次召唤传送门!!!---》》》 Android代码混淆&组件化混淆方案

我遇到的问题是什么?

最近项目要第一次上线,在经过很长时间的开发之后,要开始准备发布上线了,这时候开始做准备工作,其中打release包是必要的节点之一。

有同事打正式包之后,安装打开后各种报错,无法正常运行。这就是问题,为什么debug包可以正常运行测试,release包不行呢?

我们组件化采用的是ARouter路由管理,文档上写明混淆规则,将混淆代码放入proguard-rules.pro文件中。

一切准备就绪。打包安装!当我激动的打开我们的app时,在闪屏页不动了~~ debug包为什么没事儿,

通过跟踪调试发现ARouter的navigation的回调事件中onLost调用了,路由找不到???

为什么?混淆也添加了啊,debug包没问题啊,为什么release就不行!

其实不仅仅ARouter出问题,项目中其他组件中的三方库的初始化等都有问题。这就需要好好反思一下了。

难道是混淆不起作用?可是明明将混淆规则添加到proguard-rules.pro文件中了啊。proguard-rules.pro?不对不对。没有组件化开发时候我们都会放到这个文件中,组件化开始时候不行了吗???

确实不行了。看看这个Android代码混淆&组件化混淆方案就知道为什么不行了。

问题记录~~


如果感觉文章可以学到东西,欢迎大佬关注小弟的公众号:Android 翻山之路

![Android 翻山之路公众号图片.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a1b3b680585547049d186c433aad38d8~tplv-k3u1fbpfcp-watermark.image)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android翻山之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值