我在我的Android项目中使用了crittercism库和proguard。当我编译我的应用程序时,我在控制台中得到这个错误:
警告:cittercism.android.c:在类org.json.JSONArray中找不到引用的方法'org.json.JSONArray put(long)‘
我可以添加一个-dontwarn行来避免这个错误,但是判别法不起作用。我已经阅读了crittercism文档,用下面这几行来配置proguard文件:
-keep public class com.crittercism.**
-keepclassmembers public class com.crittercism.**{ *; }但是我仍然有这个错误。
发布于 2014-05-27 18:31:13
如果有一个类,它同时出现在android框架和外部库文件(在你的例子中是它的crittercism lib文件)中,那么就会出现预防错误的情况。这导致了一个模棱两可的前奏。
您需要指定要保存在proguard中的确切类(如-keep公共类com.crittercism.abcd),而不是(-keep公共类com.crittercise.*)。确定导致冲突的确切类。
很明显,org.json.JSONArray出现在安卓框架中,也可能出现在crittercism api中。
标识org.jason.JSONArray在crittercism库中位置,并将其包含在前导文件中,例如
-keep公共类com.crittercism...JSONArray。
https://stackoverflow.com/questions/23874190
复制相似问题