proguard地狱 - 找不到引用的类

ias*_*ons 125 android proguard

所以,我TRYING释放一些软件,但Proguard的是让我头疼.

当我尝试使用proguard导出时,我收到很多警告,即"找不到引用的类"

例如:

[2011-08-07 17:44:37 - GAME] Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
[2011-08-07 17:44:37 - GAME] Warning: there were 52 unresolved references to classes or interfaces.
[2011-08-07 17:44:37 - GAME]          You may need to specify additional library jars (using '-libraryjars'),
[2011-08-07 17:44:37 - GAME]          or perhaps the '-dontskipnonpubliclibraryclasses' option.
[2011-08-07 17:44:37 - GAME] java.io.IOException: Please correct the above warnings first.
[ 
Run Code Online (Sandbox Code Playgroud)

警告似乎与simpleframework有关,所以在我的proguard配置文件中我添加了以下内容:

-libraryjars pathtoprojecttolibs\simple-xml-2.4.jar
Run Code Online (Sandbox Code Playgroud)

pathtoprojecttolibs我的项目引用的jar的路径在哪里.

这没什么区别.

如果simpleframework引用javax我可以告诉proguard也忽略它吗?

有任何想法吗?

Eri*_*une 127

org.simpleframework.xml.stream.StreamReader在你的代码中引用javax.xml.stream.events.XMLEvent.后一类是Java runtime(rt.jar)的一部分,但不是Android运行时(android.jar)的一部分,因此ProGuard警告某些内容可能会被破坏.如果您确定您的应用程序仍然有效,您可以指定

-dontwarn javax.xml.stream.events.**
Run Code Online (Sandbox Code Playgroud)

ProGuard地狱?

  • 这并没有为我解决这个问题,但这确实是`-dontwarn javax.xml.**` (15认同)
  • 添加`-libraryjars <java.home>/lib/rt.jar`为我解决了这个问题. (8认同)
  • 我收到了关于例如javax.xml.stream.XMLInputFactory的其他警告,所以我使用了`-dontwarn javax.xml.stream.** (3认同)
  • Proguard的地狱仍在继续,只要让我受苦就可以解决这个痛苦。 (2认同)

Yar*_*ych 9

在我的情况下,根本原因在这里.您可以跳过的警告:

-dontwarn org.simpleframework.xml.stream.**
Run Code Online (Sandbox Code Playgroud)

原来答案就在这里


Yul*_*mok 5

发生此错误是因为您使用的库依赖于其他未真正使用的库,但是Proguard正在寻找它们。
-dontwarn行添加到Android项目中的proguard-rules.pro文件中以禁用此警告。

在此处输入图片说明

您可以在错误的堆栈跟踪中找到需要添加到proguard-rules.pro的依赖项。