Proguard混淆后无法正常运行的问题

在工作中遇到预验证错误导致类加载失败,问题源于混淆后的类名冲突。解决方案是在Proguard配置中添加 `-dontusemixedcaseclassnames` 参数,避免大小写类名混淆导致的‘Unenable to load class’问题。对于依赖网上搜索解决问题的现象,作者反思这可能使开发者过于依赖他人的经验,缺乏独立解决问题的能力,对此表示质疑。

http://blog.youkuaiyun.com/benbenlife/article/details/5101939


Quote:

近日在工作中加了一个函数后编译遇到问题:...preverify...
Error preverifying class A
    Class loading error: Wrong name
ERROR:: error while preverifying

Error preverifying class A

    Class loading error: Wrong name

ERROR:: error while preverifying

苦思无果,后上网查阅,原来是编译器的问题,做个记录.....就这么一个诡异的问题 我查证了整快一天......-_-!!

Proguard混淆后无法正常运行的问题: -dontusemixedcaseclassnames 


在 proguard 的預設中,當要進行混淆的檔案超過 26 個時, 前面 26 個會從 a 編到 z,但是第 27 個會編成 A ( 大寫的 A )。在我們常用的微軟的作業系統 a.class 和 A.class 是視為一樣的, 所以會把 用 A.class 把 a.class 覆蓋掉, 因此就會出現 "Unenable to load class A"



在不长的时间内,两次碰到同一个问题。

问题描述以及解决方法如上。


这里想说的是,现在碰到问题,很多情况下只能依靠在网上搜索前人是否碰到同样的问题,

并寻求其解决方案。问题是,为什么解决问题的方式仅仅限于这一种了呢,如果别人没有碰到,

或者没有拿出来共享,那就无所适从了吗?

从这个角度来说,google真的会让人变笨。。


我拒绝!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值