带有外部jar的Android Proguard

带有外部jar的Android Proguard,android,jar,proguard,Android,Jar,Proguard,我已经将外部jar文件添加到mt项目的libs文件夹中,并在构建路径中配置它。 当我尝试“导出Android软件包”时,我收到一条Proguard错误消息,其中有许多引用类未找到,例如: 警告:com.itextpdf.text.BaseColor:找不到引用的类java.awt.Color 当我试图调试BaseColor类时,它工作得很好,所以我不明白为什么它会警告我 任何帮助都将不胜感激 谢谢我花了好几天的时间让外部罐子正常工作。有人建议下载引用的jar或正确定义libjar。这些都不适合我

我已经将外部jar文件添加到mt项目的libs文件夹中,并在构建路径中配置它。 当我尝试“导出Android软件包”时,我收到一条Proguard错误消息,其中有许多引用类未找到,例如: 警告:com.itextpdf.text.BaseColor:找不到引用的类java.awt.Color

当我试图调试BaseColor类时,它工作得很好,所以我不明白为什么它会警告我

任何帮助都将不胜感激


谢谢

我花了好几天的时间让外部罐子正常工作。有人建议下载引用的jar或正确定义libjar。这些都不适合我。
我们的工作是把这种东西放进出错的罐子里:

-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.slf4j.**
-dontwarn org.json.*
这是:

-keep class javax.** { *; }
-keep class org.** { *; }
-keep class twitter4j.** { *; }
(显然,您需要调整此设置以匹配错误消息)


祝你好运。

com.itextpdf.text.BaseColor
包含在你添加的jar中,我猜。它扩展了
java.awt.Color
,它不包括在其中,但包含在Eclipse下使用的java发行版中


导出文件时,导出过程被阻塞为
java.awt.color
。我认为这与Proguard无关:即使禁用模糊处理,也必须发生这种情况。

这不会损害应用程序的功能吗?我尝试添加'-ignorewarnings',效果很好,但我担心这会给我的应用程序带来问题,比如强制关闭。好吧,它可以删除您需要的内容,但为了避免这种情况,我对代码进行了模糊处理,但没有压缩代码,即,我使用了以下选项:-dontshrink-dontoptimize-dontpreverify这意味着它会模糊,但不会移除东西。此外,例如twitter4j似乎包含对我的应用程序中未使用的库的引用。@Blundell,这个问题不是如何添加外部JAR,而是如何让Proguard不抱怨它们。@Casp如果您正确添加它们,它不会抱怨它们。我遇到了这个问题,找到了你的答案,Q是我找到的下一个链接。因此,我发布它是为了帮助其他来到这里的人。那么,你的意思是我必须将rt.jar(java.awt.color所在)添加到我的项目中,以使应用程序正常运行吗?因为我尝试了“-ignorewarnings”,但它仍然使用这个类(BaseColor)。我不知道你是否能做到这一点,因为很多类都会与它们的Android版本发生冲突。我认为您应该包含完整的AWT源代码以使其正常工作。我从未尝试过,但我在Anddev上发现了这个,它似乎证实了: