快速搞定 Android Library 工程混淆问题

本文详细介绍了如何处理Android Library工程的混淆问题,包括ProGuard的基础配置、Keep关键字的使用、Android特有的@Keep标签、保留Native方法以及防止Library工程UI类混淆的方法。通过启用混淆和设置正确的混淆规则,确保Library工程在打包时能够正常工作。
摘要由CSDN通过智能技术生成

本文记录如何进行安卓Libray工程混淆经验。安卓混淆上的肯定是大名鼎鼎的 ProGuard, 那我们开始吧。

1. ProGuard基础

1.1 ProGuard基本配置

网上关于混淆的学习记录文章已经很多了,这边我整理出了一些基本的配置选项

# 指定代码的压缩级别,值在0-7之间。一般设置5足矣
-optimizationpasses 5

# 打印混淆信息
-verbose

# 代码优化选项,不加该行会将没有用到的类删除,发布的是代码库这个选项需要
# 在做混淆之前最开始会默认对代码进行压缩,为了增加反编译的难度可以选择不压缩 
-dontshrink

# 保留参数的名称和方法,该选项可以保留调试级别的属性。
-keepparameternames

# 过滤泛型,出现类型转换错误时再启用这个。目前的项目暂时无泛型类型,我先注释了
#-keepattributes Signature

# 保护代码中的Annotation不被混淆
-keepattributes *Annotation*

# 指定不去忽略非公共的库的类的成员
-dontskipnonpubliclibraryclassmembers

# 指定不去忽略非公共的库类(不跳过library中的非public的类)
-dontskipnonpubliclibraryclasses

如果有不合理或更好的选项记得告诉我哟?非常感谢

1.2 Proguard 关于Keep的关键字

关键字 描述
keep<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值