我在带有混淆器的 Android 项目中使用 crittercism 库。当我编译我的应用程序时,我在控制台中收到此错误:
警告:crittercism.android.c:在类 org.json.JSONArray 中找不到引用的方法“org.json.JSONArray put(long)”
我可以添加一个 -dontwarn 行来避免这个错误,但是 crittercism 不起作用。我已阅读 crittercism 文档以使用以下行配置 proguard 文件:
-keep public class com.crittercism.**
-keepclassmembers public class com.crittercism.**{ *; }
但我仍然有那个错误。
最佳答案
如果有一个类存在于 android 框架和外部库文件中(在您的情况下是 crittercism lib 文件),则会发生 Proguard 错误。这会导致混淆。
您需要指定要保留在混淆器中的确切类(如 -keep public class com.crittercism.abcd)而不是(-keep public class com.crittercism.*)。确定导致冲突的确切类。
很明显,org.json.JSONArray 存在于 Android 框架工作中,它也可能存在于 crittercism api 中。
识别 org.jason.JSONArray 在 crittercism 库中的位置,并包含在混淆文件中,如
-保持公开课 com.crittercism...JSONArray。
关于android - Android 中带有混淆器的 Crittercism,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874190/