2012-01-17 42 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