我用ProGuard做了代码混淆,用反编译工具看了混淆后生成的apk,确实混淆后函数名都变化了,但问题是混淆后生成的apk没法在手机上安装运行了,安装不了。请问是怎么回事呢?谢谢
我是想测试这个混淆功能,所以工程很简单,就一个helloAndroid,没有其他应用,按照网上说的方法,在default.properties文件里面添加上了proguard.config=proguard.cfg这句话。
------解决方案--------------------
帮楼主顶下,等待高手解答....
------解决方案--------------------
proguard.cfg 里面是什么内容?
------解决方案--------------------
不混淆的话这个工程可以安装么
------解决方案--------------------
把手机上之前调试的工程清理干净,再安装。
------解决方案--------------------
有可能是某个包被混淆了,程序调用出错
比如android.support.v4,你可以尝试把某些包排除混淆
------解决方案--------------------
有这个问题,打包根本就不会成功的吧
------解决方案--------------------
R被混淆了吧
------解决方案--------------------
关注中
------解决方案--------------------
混得太厉害了 导致找不到类 特别是混了外部jar或者lib工程
------解决方案--------------------
-keep class **.R$* {
*;
}
R.资源被混淆
------解决方案--------------------
我也遇到这个问题了,好像是因为我在程序中重写了android.content.Context。然后使用了-dontwarn android.content.Context.避免编译不过,然后就安装不上了
------解决方案--------------------
不能安装的log 给出来看看
------解决方案--------------------
你不改动配置文件,默认是混淆R的 所以还是需要你手动屏蔽掉的