android 避免混淆类名和方法名,但是方法内容需要被混淆

要避免在使用 ProGuard 或 R8 进行代码混淆时混淆特定类名和方法名的同时让方法内容被混淆,你需要在 ProGuard 配置文件中使用 -keepclassmembers-keep 规则。这些规则允许你指定保留类名和方法名的同时允许方法内部代码被混淆以减小体积和提高安全性。

以下是 ProGuard 配置规则的示例,用于保留某个类的类名和方法名,但允许方法体被混淆:

# 保留类名和方法名,但不保护方法的内部实现
-keepclassmembers class com.example.MyClass {
    public <methods>;
}

# 或者,如果你想保留所有的方法(包括私有的)
-keepclassmembers class com.example.MyClass {
    <methods>;
}

# 如果想保持特定方法名不混淆
-keepclassmembers class com.example.MyClass {
    public void myMethod(...);
}

-keepclassmembers 用于保留指定类的成员,但允许类本身的名字被混淆;如果类名也需要不被混淆,可以使用 -keep 替代。

# 保留类名、成员变量名和方法名,但不保护方法的内部实现
-keep class com.example.MyClass {
    public <fields>;
    public <methods>;
}

以上配置确保了 MyClass 这个完整的类名不会被混淆,所有的公共成员变量和方法名也保持原样,但它们的内部实现可以被混淆。

请按照你的实际需求调整上面规则中的类名和方法名。此外,你需要确保规则覆盖了所有你希望避免混淆的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值