当前位置: 首页 > 知识库问答 >
问题:

Crittercism与proGuard在Android

鲜于海
2023-03-14

我在我的Android项目中使用了ProGuard的批判主义库。当我编译我的应用程序,我得到这个错误在控制台:

警告:crittercism.android.c:在类中找不到引用的方法org.json.JSONArray put(long)org.json.JSONArray

我可以添加一个-dontwarn行来避免这个错误,但是critercism不起作用。我已经阅读了Critercism文档,以使用以下行配置proguard文件:

-keep public class com.crittercism.**
-keepclassmembers public class com.crittercism.**{ *; }

但我仍然有这个错误。

共有1个答案

伍嘉
2023-03-14

Proguard error occours,如果存在一个类,它同时存在于androidhtml" target="_blank">框架和外部库文件(在您的例子中是它的critercism lib文件)中。这会导致一种模糊性。

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

很明显,这个组织。json。JSONArray出现在Android框架中,也可能出现在CriterCismAPI中。

确定组织的位置。杰森。JSONArray存在于CriterCism库中,并包含在proguard文件中,如

-保持公共类com。批判。。。杰索纳雷。

 类似资料:
  • 问题内容: 我正在尝试使ProGuard成为我们Maven构建过程的一部分。问题在于,官方的Maven插件正在使用不支持Java 7的ProGuard 4.3。是否有任何简便的方法可以使该插件改为使用Proguard 4.8? 我试过为插件指定依赖关系,但ProGuard似乎为Maven模块提供了新结构(proguard-base,proguard- parent等),因此插件不能使用任何大于4.

  • 从Gradle Plugin for ProGuard version 4.10之后就开始支持ProGuard。ProGuard插件是自动添加进来的。如果Build Type的runProguard属性被设置为true,对应的task将会自动创建。 android { buildTypes { release { runProguard true

  • 打开ProGuard后,我无法连接到IMAPSSLStore。以下是logcat窗口中的一些内容: 好吧,她写的就是这些!I1MB111841581WIL IMAP Debug:auth:xoauth IMAP Debug:auth:PLAIN IMAP Debug:auth:PLAIN IMAP Debug:auth:PLAIN-clienttoken Debug:protocolConnect

  • ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。

  • Facebook ProGuard 是 Facebook 对 ProGuard 的改进版本,速度更快,基于 ProGuard 4.11 开发。 ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。

  • 问题内容: 我正在运行ProGuard来缩小我的jar文件。它需要的参数之一是系统的运行时jar。这是在Sun发行版上,而不是在Apple的Mac OS X(在我的情况下为v10.6(Snow Leopard))上。 OS X是否有rt.jar? 问题答案: 它称为classes.jar,位于/System/Library/Frameworks/JavaVM.framework/Classes下