如何在混淆器中保留外部库 android

How to keep external libraries in proguard android

您好,我在我的 android 应用程序中使用了混淆器,我也在使用外部库,但该库的 class 出现错误。我应该如何在混淆规则中添加这个库。

我是如何在 gradle 中添加库的:

 implementation "io.crossbar.autobahn:autobahn-android:${versionAutobahn}"

这是我在 proguard 中尝试过但对我不起作用的方法我也使用过 -keep 但没有帮助

-dontwarn io.crossbar.autobahn-autobahn-android   
-dontwarn io.crossbar.autobahn.wamp.Client
-keep class autobahn.** { *; }
-keep class io.crossbar.** { *; }

我应该如何将这个库保存在混淆器中?

你试过下面的方法了吗?

-keep class io.crossbar.** { *; }

您需要使用 -keep 来保留任何包裹中的 class,例如:

-keep class io.crossbar.** { *; }

-dontwarn 只会忽略警告。使用 -keep,您可以保留任何 classes、class 字段和方法。

更详细的用法检查:ProGuard manual

此外,GitHub 上有一个功能请求要求此 repo 支持 ProGuard,here