【问题标题】:Crittercism with proguard in AndroidAndroid中带有proguard的批评
【发布时间】:2014-05-26 16:17:57
【问题描述】:

我在带有 proguard 的 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 proguard crittercism


    【解决方案1】:

    如果有一个类出现在 android 框架和外部库文件中(在您的情况下是它的 crittercism lib 文件),则会发生 Proguard 错误。这会导致混淆。

    您需要指定要保留在 proguard 中的确切类(如 -keep public class com.crittercism.abcd)而不是(-keep public class com.crittercism.*)。确定导致冲突的确切类。

    很明显,org.json.JSONArray 存在于 Android 框架中,它也可能存在于 crittercism api 中。

    确定 org.jason.JSONArray 在 crittercism 库中的位置,并包含在 proguard 文件中,如

    -保持公共类 com.crittercism...JSONArray.

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多