2012-01-17 46 views
0

我有一个项目,我一直在成功使用proguard很长一段时间,故意使用旧版本的ADB(pre r12)运行,因为我总是碰到耗时过长的错误解决。我最近更新到r16,这样做完全打破了我在命令行上使用 - >“ant release”构建的能力。如何解决LVL混淆错误

我发现信息的重载使我可以解决多个问题,但现在我有以下的问题,我已经没有任何我已经试过了工作的建议:

[dx] UNEXPECTED TOP-LEVEL EXCEPTION: 
     [dx] java.lang.IllegalArgumentException: already added: Lcom/android/vend 
ing/licensing/AESObfuscator; 
     [dx]  at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection 
.java:123) 
     [dx]  at com.android.dx.dex.file.DexFile.add(DexFile.java:163) 
     [dx]  at com.android.dx.command.dexer.Main.processClass(Main.java:486) 

     [dx]  at com.android.dx.command.dexer.Main.processFileBytes(Main.java: 
455) 
     [dx]  at com.android.dx.command.dexer.Main.access$400(Main.java:67) 
     [dx]  at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav 
a:394) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class 
PathOpener.java:245) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath 
Opener.java:131) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe 
ner.java:109) 
     [dx]  at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
     [dx]  at com.android.dx.command.dexer.Main.processAllFiles(Main.java:3 
29) 
     [dx]  at com.android.dx.command.dexer.Main.run(Main.java:206) 
     [dx]  at com.android.dx.command.dexer.Main.main(Main.java:174) 
     [dx]  at com.android.dx.command.Main.main(Main.java:95) 
     [dx] 1 error; aborting 

BUILD FAILED 
C:\Users\Public\android_sdk_r3\android-sdk-windows\tools\ant\build.xml:752: The 
following error occurred while executing this line: 
C:\Users\Public\android_sdk_r3\android-sdk-windows\tools\ant\build.xml:754: The 
following error occurred while executing this line: 
C:\Users\Public\android_sdk_r3\android-sdk-windows\tools\ant\build.xml:766: The 
following error occurred while executing this line: 
C:\Users\Public\android_sdk_r3\android-sdk-windows\tools\ant\build.xml:256: null 
returned: 1 

我知道它在说被添加AESObfuscator两次,但我不知道所有的各种场所,这是为拉到我的项目。引用此问题的其他帖子导致人们提供许多不同的可能解决方案。我希望有人能够明确告诉我要删除什么。

LVL的jar文件在“参考库”下列出。我手动将jar文件复制到libs文件夹来解决我遇到的其他错误。右键点击我的项目并选择“Properties” - >“Java Build Path” - >“Libraries”,它有LVL jar文件,Android 2.2和com.android.ide.eclipse.adt.LIBRARIES。最初“图书馆”拥有Android 2.2和“参考库”,但是我在其他人的建议下手动移除了参考库,但这导致了Eclipse中的错误。然后,我通过选择“添加外部JAR”手动将LVL jar添加回到“库”中,结果是以上3个项目。

我需要做些什么来解决这个问题?谢谢。

回答

0

我做了几件不同的事情来让一切正常工作,但不幸的是,我不确定是否有某个步骤可以实现。

我删除了为执行升级后每个库添加的额外src文件夹。

我停止使用LVL作为外部库,并直接将源代码添加到我的项目中。

在Eclipse中,我进入了Properties - > Android,并在出现的窗口的Library部分中删除了所有引用。

在我的项目中,在Eclipse中显示的proguard文件中存在特定的错误,但这些错误很容易识别和纠正。

在这一点上,我认为一切都应该工作,但我仍然有问题。所以我清理了这个项目,突然间一切正常。所以,看来我需要采取上述每个步骤来解决我的问题。

0

我跟着这个链接指令:

http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29

然后我不得不添加到local.properties var和值: out.classes.dir =斌

清洁家居/目录。

它的工作原理。

祝你好运。

+0

按照该链接的说明是我在第一次将LVL添加到我的项目时所做的操作,并且是在升级ADB之前如何设置的。升级后,链接中的说明不幸解决了所有问题。 – Michael 2012-02-26 07:12:31