当前位置: 首页 > news >正文

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 这个完整的类名不会被混淆,所有的公共成员变量和方法名也保持原样,但它们的内部实现可以被混淆。

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

http://www.lryc.cn/news/351428.html

相关文章:

  • 通过ELRepo修改CentOS 7内核版本的详细步骤
  • C++开源库glog使用封装--自定义日志输出格式,设置日志保留时间
  • linux rc.local不生效
  • ROS2入门21讲__第07讲__节点:机器人的工作细胞
  • k8s node NotReady后会发生什么?
  • uni-starter创建App项目最全流程(日后还有其他功能会不断更新)
  • 动态IP和静态IP区别
  • 蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。
  • 源码部署EFK
  • CSDN智能总结助手
  • setImmediate是在当前事件循环的所有周期的末尾执行,还是再当前事件循环的当前周期的下一个周期执行?
  • 建材行业工程设计资质动态核查不通过怎么办
  • 二叉数之插入操作
  • 【Python】全局变量与init的区别
  • JAVA学习-练习试用Java实现“位1的个数”
  • HTML静态网页成品作业(HTML+CSS)——魅族商城首页网页(1个页面)
  • Windows DNS 服务器配置转发器
  • 基于FPGA的VGA协议实现----条纹-文字-图片
  • hdfs中MapReduce中的shuffle,combine和partitioner(hadoop,Hdfs)
  • Linux应用入门(二)
  • 高仿果汁导航模板
  • 机器学习之一分类支持向量机(One-class SVM)
  • 签发免费https证书的方式
  • Autodl服务器中Faster-rcnn(jwyang)训练自己数据集(二)
  • 安卓手机文件误删或丢失?教你快速找回的方法!
  • C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树
  • 关于在企业环境中中间人攻击(MITM)可行性研究的报告
  • GitHub Actions 自动部署 AWS Lambda
  • 【NOIP2013普及组复赛】题4:车站分级
  • el-table 表格拖拽 + 表头可修改 + 宽度自定义