如何在 Unity 中使用 Proguard 保留 AdColony?

How to keep AdColony with Proguard in Unity?

我在我的 Unity 游戏中使用 Proguard 和 R8 minify 来处理 Admob 中介。我将 AdColony 集成到游戏中,但在设备运行时,AdColony 似乎在制作 APK 之前的清理中被删除了。

我不确定我需要将哪 keep 行添加到我的 proguard-user 文件中才能使 AdColony 正常工作。 有人知道吗?

例如,以下示例来自应该为 AdColony 设置 GDPR 设置的行:

2020/12/17 17:05:02.861 9593 9661 Error Unity AndroidJavaException: java.lang.NoSuchMethodError: no non-static method with name='setGDPRRequired' signature='(Z)Ljava/lang/Object;' in class Ljava.lang.Object;

提前致谢!

我自己找到了答案,所以首先我会说需要添加什么,然后我是如何想出要添加什么的。

我的解决方法是将以下行添加到我的 proguard-user.txt 文件中:

-keep class com.adcolony.sdk.** { *; }

据我所知,在 Assets/Plugins/Android 下的 Unity 项目中,我有一堆包,其中一个名为 com.adcolony.sdk-4.3.0。因为命名约定似乎与混淆文件中通常出现的文件相匹配,所以我尝试将上述保留行添加到我的文件中,并且成功了!

说到proguard,我几乎一无所知。如果这只是巧合,并且我一直使用该命令的文件不是来自我在 Android 目录中找到的包,请在下面评论,这样我和将来发现这个的人都会得到更好的通知。