android - `,**` 对 R8 和 ProGuard 有何改变?
问题描述
我们在包前缀.aar
下发布 s,com.company.**
并且我们需要混淆出现在**.internal.obfuscate.**
它下面的包中的代码。不在此混淆包下的代码应完全保留。
使用 ProGuard,我们通过以下方式实现了这一目标:
-keep class !com.company.**.internal.obfuscate.** { *; }
-keep,allowobfuscation class com.company.**.internal.obfuscate.** { *; }
但这停止了与 R8 的合作。为了让它与 R8 一起工作,我们必须,**
按照这个答案中的建议添加
-keep class !com.company.**.internal.obfuscate.**,** { *; }
-keep,allowobfuscation class com.company.**.internal.obfuscate.**,** { *; }
但我不明白,**
它在做什么——为什么会这样?我的目标是避免过于宽泛的 ProGuard 规则。
解决方案
推荐阅读
- c++ - 在加载我自己的 DLL 时找不到正确的 MSVCP140d.dll 依赖项,即使它存在于文件夹中
- javascript - React onChange 需要双击才能获得选定的值
- javascript - 重复提示直到满足条件
- r - 将表达式传递给 aggregate_key
- git - 如何响应 Dockerfile 中的用户提示?
- spacy - 在多个 GPU(不仅仅是一个)上训练 spaCy NER 模型
- 51degrees - ASP.Net MVC 和 51Degrees - 设备检测问题
- python-3.x - 如何创建可以有重复键的python字典?
- python-3.x - Python 协议:如何与协议属性的类型进行比较
- mysql - 引发错误在 MySQL 触发器中不起作用