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

Android 开启混淆R8编译问题处理

Android R8是一个代码混淆和压缩工具,可以将应用程序的大小和安全性优化。它引入了一些新功能,如成员内省、混淆指针、类内省等。

        但R8使用起来一直不友好,因为自从使用R8之后编译问题不断。主要还是和混淆相关,经常报错,最近又遇到一个:

        Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in you path to mmissing_rules.txt

        根据提示,根据报错提示找到app -> build -> outputs -> mapping -> ${app_name}-> missing_rules.txt文件,打开查看里面是提示的信息:

-dontwarn com.google.common.collect.Multimap
-dontwarn java.awt.Color
-dontwarn java.awt.Font
-dontwarn java.awt.Point
-dontwarn java.awt.Rectangle
-dontwarn javax.ws.rs.Consumes
-dontwarn javax.ws.rs.Produces
-dontwarn javax.ws.rs.ext.MessageBodyReader
-dontwarn javax.ws.rs.ext.MessageBodyWriter
-dontwarn javax.ws.rs.ext.Provider
-dontwarn net.i2p.crypto.eddsa.EdDSAEngine
-dontwarn net.i2p.crypto.eddsa.EdDSAPrivateKey
-dontwarn net.i2p.crypto.eddsa.EdDSAPublicKey
-dontwarn net.i2p.crypto.eddsa.math.GroupElement
-dontwarn net.i2p.crypto.eddsa.spec.EdDSANamedCurveSpec
-dontwarn net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable
-dontwarn net.i2p.crypto.eddsa.spec.EdDSAParameterSpec
-dontwarn net.i2p.crypto.eddsa.spec.EdDSAPrivateKeySpec
-dontwarn net.i2p.crypto.eddsa.spec.EdDSAPublicKeySpec
-dontwarn org.slf4j.impl.StaticLoggerBinder
-dontwarn org.vclusters.R$layout
-dontwarn springfox.documentation.spring.web.json.Json
-dontwarn sun.reflect.annotation.AnnotationType

把上面这些提示信息加入到模块的proguard-rules.pro混淆配置文件中即可解决。

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

相关文章:

  • Rust:GUI 开源框架
  • 移远通信亮相骁龙AI PC生态科技日,以领先的5G及Wi-Fi产品革新PC用户体验
  • 力扣每日一题 3258. 统计满足 K 约束的子字符串数量 I
  • SQL面试题——奔驰面试题
  • 24.11.10 css
  • git新手使用教程
  • 运维发展方向
  • jmeter常用配置元件介绍总结之函数助手
  • Pytorch从0复现worc2vec skipgram模型及fasttext训练维基百科语料词向量演示
  • fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧
  • mysql 大数据查询
  • 如何在 Spring Boot 中利用 RocketMQ 实现批量消息消费
  • 推荐一个Star超过2K的.Net轻量级的CMS开源项目
  • 基于驾驶员面部特征的疲劳检测系统
  • 前端知识点---字符串的8种拼接方法(Javascript)
  • 用 Python 从零开始创建神经网络(一):编码我们的第一个神经元
  • 低代码开发
  • sql server 文件和文件组介绍
  • caozha-CEPCS(新冠肺炎疫情防控系统)
  • 1Panel修改PostgreSQL时区
  • 开发一个CRM系统难吗?CRM系统的实现步骤
  • kafka常见面试题总结
  • 前端知识点---Javascript中检测数据类型函数总结
  • aspose如何获取PPT放映页“切换”的“持续时间”值
  • 【MQTT】代理服务比较RabbitMQ、Mosquitto 和 EMQX
  • 【C#/C++】C++/CL中String^的含义和举例,C++层需要调用C#层对象时...
  • Python学习从0到1 day26 第三阶段 Spark ② 数据计算Ⅰ
  • 【详细】如何优雅地删除 Docker 容器与镜像
  • Spring Spring Boot 常用注解总结
  • Flink独立集群+Flink整合yarn