Android APK 混码---proguard-project.txt说明

本文深入探讨了混淆代码时如何正确处理反射相关操作,并提供了解决类型转换错误、注解处理和过滤log打印消息的具体方法。通过实例分析,详细解释了混淆配置文件中的关键参数设置及注意事项,旨在帮助开发者避免混淆过程中可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

混淆代码中 ,如果代码中用了 反射的 ,千万要注意 要隔离 。

常见用法:

-keep class 保留类

-keepclassmembers 保留类中的方法或者字段名

-keepclasseswithmembernames 保留类名和类中的方法或者字段名

-dontwarn [class_filter] 不提示warnning

-injars 表示你要混淆的jar文件

-outjars 是混淆后的jar文件名

-libraryjars 是混淆时需要引用的android库

-ignorewarning 表示混淆时忽略所以的警告

-dontoptimize 不进行优化,这句代码非常重要。并且配置中不能有-dontpreverify字段;-dontpreverify在混淆jar时没有问题但是在apk应用中使用该jar后对apk进行混淆时就会失败。

遇见问题:

1.类型转换错误,因为我用的泛型,所以在调用某些方法的时候,会出现这种错误,后面在混淆配置文件加了一个过滤泛型的语句,如下。

-keepattributes Signature

过后,就没有出现类似的类型转换错误。

2.用到 annotation的地方,要加入一行代码,如下:

-keepattributes *Annotation*

这样就能过滤掉所有的annotation,否则也会抛出空指针异常。

3.过滤掉 log打印消息

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值