java - ProGuard 混淆后无法从 Library.jar 文件中导入类
问题描述
我已经构建了一个 .jar 库文件。我可以在我的项目中正常导入它,但是在 Proguard 混淆之后,我无法再从该库中调用类/函数。我的包和类已经转换为a.class、b.class、c.class,如下图所示。
解决方案
ProGuard 重命名类。分发库时,您需要配置 ProGuard 不重命名您需要公开的 API。
您可以添加如下规则:
-keep public class * {
public protected *;
}
这将停止重命名所有公共类中的所有公共和受保护方法。
推荐阅读
- ios - Swift - 使用 alamofire 发布请求
- java - 我想覆盖子类中的私有内部类方法是否有可能或任何其他方式来做到这一点?
- react-native - BackHandler.removeEventListener 不工作
- c++ - C ++中的多个定义,包括标题
- elasticsearch - 在动态映射弹性搜索上使用正则表达式
- java - 编写自己的迭代器时类型不匹配
- logging - syslog-ng 匹配规则匹配但不应该
- python - 如何将 OpenCV 图像数据从 Python 转换为 C++?
- ssl - 使用来自安全网页的自定义 URL 协议时避免混合内容消息
- sql-server - 安装 SQL Server 2016 或 2017 时如何修复错误(0x84bb0001:系统找不到指定的文件)?