Как устранить ошибку запутывания LVL - PullRequest
0 голосов
/ 17 января 2012

У меня есть проект, с которым я успешно использую proguard в течение долгого времени, намеренно работающий со старой версией ADB (до r12), потому что мне всегда кажется, что я сталкиваюсь с ошибками, решение которых занимает слишком много времени.Я недавно обновил до r16, и это полностью лишило меня возможности строить из командной строки, используя -> "ant release"

Я обнаружил перегрузку информации, которая позволила мне решить несколько проблем, но теперь у меня естьСледующая проблема, и у меня не работает ни одно из предложенных мною предложений:

    [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 добавляется дважды, но я не уверен во всех различных местахчто это втягивается в мой проект.Другие посты, ссылающиеся на эту проблему, приводили к тому, что люди предлагали много разных возможных решений.Я надеюсь, что кто-то может сказать мне окончательно, что удалить.

JAR-файл LVL указан в разделе «Справочные библиотеки».Я вручную скопировал файл jar в папку libs, чтобы устранить другие ошибки, с которыми я столкнулся.Если щелкнуть правой кнопкой мыши мой проект и выбрать «Свойства» -> «Путь сборки Java» -> «Библиотеки», будет файл jar LVL, Android 2.2 и com.android.ide.eclipse.adt.LIBRARIES.Изначально «Библиотеки» имели Android 2.2 и «Справочные библиотеки», но я вручную удалил справочные библиотеки по чужому предложению, но это вызвало ошибки в Eclipse.Затем я вручную добавил банку LVL обратно в «Библиотеки», выбрав «Добавить внешний JAR», и в результате было 3 пункта выше.

Что мне нужно сделать, чтобы решить эту проблему?Благодаря.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Было несколько разных вещей, которые я сделал, чтобы все работало, но, к сожалению, я не уверен, был ли какой-то определенный шаг, который добился цели.

Я удалил дополнительные папки src, которые были добавлены для каждогобиблиотека, которая была у меня после обновления.

Я перестал использовать LVL в качестве внешней библиотеки и просто добавил исходный код непосредственно в свой проект.

В Eclipse я зашел в Свойства -> Androidи в разделе библиотеки окна, которое появляется, я удалил все ссылки.

В Eclipse были обнаружены определенные ошибки для файлов proguard, используемых в моем проекте, но они были легко идентифицированы и исправлены.

В этот момент я думал, что все должно работать, но у меня все еще были проблемы.Поэтому я очистил проект, и вдруг все заработало нормально.Итак, похоже, что мне нужно было выполнить каждый из вышеперечисленных шагов, чтобы решить мою проблему.

0 голосов
/ 04 февраля 2012

Я следовал этой инструкции по ссылке:

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

Затем мне пришлось добавить в local.properties переменную и значение: out.classes.dir = bin

очистил все в каталоге bin /.

И это работает.

Удачи.

...