ProGuard 代码混淆 APK无法安装

LOVE_GG 2013-02-25 08:58:03
我用ProGuard做了代码混淆,用反编译工具看了混淆后生成的apk,确实混淆后函数名都变化了,但问题是混淆后生成的apk没法在手机上安装运行了,安装不了。请问是怎么回事呢?谢谢

我是想测试这个混淆功能,所以工程很简单,就一个helloAndroid,没有其他应用,按照网上说的方法,在default.properties文件里面添加上了proguard.config=proguard.cfg这句话。
...全文
424 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
luojia20032004 2014-03-17
  • 打赏
  • 举报
回复
楼主,这个问题如何?怎么跟进的
dalinhao2013 2013-12-26
  • 打赏
  • 举报
回复
问题搞定了吗
LOVE_GG 2013-05-18
  • 打赏
  • 举报
回复
看来android的混淆,不好弄啊
jeden 2013-05-06
  • 打赏
  • 举报
回复
引用 15 楼 LOVE_GG 的回复:
[quote=引用 13 楼 jeden 的回复:] R被混淆了吧
我只是改了那个配置文件,其他啥都没改 [/quote] 你不改动配置文件,默认是混淆R的 所以还是需要你手动屏蔽掉的
aSysBang 2013-05-03
  • 打赏
  • 举报
回复
不能安装的log 给出来看看
chinaanihcchen 2013-05-03
  • 打赏
  • 举报
回复
我也遇到这个问题了,好像是因为我在程序中重写了android.content.Context。然后使用了-dontwarn android.content.Context.避免编译不过,然后就安装不上了
J2EE程序员 2013-04-26
  • 打赏
  • 举报
回复

-keep class **.R$* {   
	*;   
}
R.资源被混淆
Jobernowl 2013-04-26
  • 打赏
  • 举报
回复
混得太厉害了 导致找不到类 特别是混了外部jar或者lib工程
LOVE_GG 2013-04-26
  • 打赏
  • 举报
回复
引用 13 楼 jeden 的回复:
R被混淆了吧
我只是改了那个配置文件,其他啥都没改
都市蟑螂 2013-04-09
  • 打赏
  • 举报
回复
关注中
jeden 2013-04-08
  • 打赏
  • 举报
回复
R被混淆了吧
儿大不由爷 2013-02-28
  • 打赏
  • 举报
回复
用工具反编译一下你的apk,看看缺什么吧
LOVE_GG 2013-02-27
  • 打赏
  • 举报
回复
引用 9 楼 zyxel60b 的回复:
有可能是某个包被混淆了,程序调用出错 比如android.support.v4,你可以尝试把某些包排除混淆
我没有引用其他的包,只是一个很简单的工程,一行代码都没有添加,只是在界面上拖动了个按钮
veardn 2013-02-27
  • 打赏
  • 举报
回复
引用 9 楼 zyxel60b 的回复:
有可能是某个包被混淆了,程序调用出错 比如android.support.v4,你可以尝试把某些包排除混淆
有这个问题,打包根本就不会成功的吧
zyxel60b 2013-02-27
  • 打赏
  • 举报
回复
有可能是某个包被混淆了,程序调用出错 比如android.support.v4,你可以尝试把某些包排除混淆
LOVE_GG 2013-02-27
  • 打赏
  • 举报
回复
高手在哪里??
Jobernowl 2013-02-26
  • 打赏
  • 举报
回复
不混淆的话这个工程可以安装么
LOVE_GG 2013-02-26
  • 打赏
  • 举报
回复
引用 2 楼 ultrapro 的回复:
proguard.cfg 里面是什么内容?
proguard.cfg里面的内容我没有修改过,是默认的。如下
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
儿大不由爷 2013-02-26
  • 打赏
  • 举报
回复
proguard.cfg 里面是什么内容?
xfyunyun 2013-02-26
  • 打赏
  • 举报
回复
帮楼主顶下,等待高手解答....
加载更多回复(3)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧