我使用proguard有一些非常奇怪的行为。情况就是这样。
在eclipse中,如果我只是运行导出命令,我会得到以下错误。以及许多can't find referenced class
错误。此外,下面的数字241似乎跳了起来,有时是179,290等等。
[2012-05-22 15:54:33 - x] Warning: there were 241 unresolved references to classes or interfaces.
[2012-05-22 15:54:33 - x] You may need to specify additional library jars (using '-libraryjars').
[2012-05-22 15:54:33 - x] Warning: there were 36 unresolved references to program class members.
[2012-05-22 15:54:33 - x] Your input classes appear to be inconsistent.
[2012-05-22 15:54:33 - x] You may need to recompile them and try again.
[2012-05-22 15:54:33 - x] Alternatively, you may have to specify the option
[2012-05-22 15:54:33 - x] '-dontskipnonpubliclibraryclassmembers'.
[2012-05-22 15:54:33 - x] java.io.IOException: Please correct the above warnings first.
[2012-05-22 15:54:33 - x] at proguard.Initializer.execute(Initializer.java:321)
[2012-05-22 15:54:33 - x] at proguard.ProGuard.initialize(ProGuard.java:211)
[2012-05-22 15:54:33 - x] at proguard.ProGuard.execute(ProGuard.java:86)
[2012-05-22 15:54:33 - x] at proguard.ProGuard.main(ProGuard.java:492)
但是,如果我执行干净然后导出它将不会显示错误,但也根本不显示任何控制台输出。清理后的第一次导出将生成一个运行的文件。如果我尝试在上一次导出后立即执行导出,则会再次出现上述错误。
其他信息 -
我的工作区路径和git repo路径都没有空格。
我的proguard.cfg文件主要是android / eclipse提供的默认文件,只添加了一些'keep''
我的项目设置了旧工作区,我可以使用proguard成功导出(这个项目在OS X上通过subclipse使用SVN)。
我将项目复制到当前工作区并使用egit将其连接到GIT。 Egit将文件移出我的工作区并进入git repo的位置。
TL; DR;什么会使proguard在干净后成功运行,但每次运行时都会失败而不先清洗?