Преобразование в формат Dalvik не удалось с ошибкой 1 - Почему? - PullRequest
4 голосов
/ 12 января 2012

Я добавил только в существующий полностью рабочий проект, файл com/android/vending/billing/IMarketBillingService.aidl

(я еще ничего не добавил (из примера market_billing), так как я пока даже не пытаюсь использовать сервис)

Он отлично компилируется и собирается, но когда я пытаюсь его запустить, я получаю в консоли следующее:

java.lang.IllegalArgumentException: already added: Lcom/android/vending/billing/IMarketBillingService$Stub$Proxy;
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.java:394)
Dx  at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
Dx  at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
Dx  at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.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:329)
Dx  at com.android.dx.command.dexer.Main.run(Main.java:206)
Dx  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Dx  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
Dx  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
Dx  at java.lang.reflect.Method.invoke(Unknown Source)
Dx  at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179)
Dx  at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:745)
Dx  at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:634)
Dx  at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
Dx  at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
Dx  at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
Dx  at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282)
Dx  at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363)
Dx  at org.eclipse.core.internal.resources.Project$1.run(Project.java:545)
Dx  at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
Dx  at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524)
Dx  at org.eclipse.core.internal.resources.Project.build(Project.java:123)
Dx  at com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:961)
Dx  at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146)
Dx  at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
Dx  at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
Dx  at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:924)
Dx  at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1128)
Dx  at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Dx 3 errors; aborting
Conversion to Dalvik format failed with error 1

Есть идеи , почему это происходит?

Примечание: этот добавленный .aidl файл не внешний jar, поэтому ответ здесь не помогает в моем случае.

Обновление: Я удалил этот подозрительный файл .aidl, очистил проект, но проблема не исчезла. Weird.

Обновление: Я знал это! Я просто попытался запустить существующий проект, который раньше работал идеально, прежде чем я «обновил» SDK с 9 до 16, и там я тоже получаю ту же ошибку. Я знал, что должен был избежать этого «апгрейда». Теперь мне приходится тратить время на устранение проблемы, которой не должно было быть до тех пор, пока я не обновлюсь в соответствии с планом, а не тогда, когда меня заставят сделать , без возможности запланированной и контролируемой миграции. Выпуск приложения задержан ...

Обновление: Кажется, есть соединение с глючным автоматическим преобразованием из default.properties в project.properties, но, несмотря на то, что я исправляю все ошибки преобразования вручную, проблема все еще сохраняется. Теперь у меня нет среды разработки. Это смешно.

Ответы [ 2 ]

6 голосов
/ 12 января 2012

Наконец-то проблема решена с помощью этого решения от удивительного @TheTerribleSwiftTomato.

Все это было вызвано " Изменениями в проектах библиотеки в инструментах Android SDK, r14 ".

Спасибо, @Google, за то, что сделали мою жизнь такой несчастной.Если вы вносите радикальные изменения в поведение системы, не заставляйте меня «обновлять» с SDK 9 до SDK 16, когда я еще не готов сожрать всю информацию, которая идет с ним (или, по крайней мере, выдать ошибкусообщение, которое может указывать непосредственно на это изменение).

С другой стороны, искренне благодарю @Google за представление долгожданной, очень желанной функции, которая генерирует каждый библиотечный проект в свой собственный файл JAR..Это настоящий спасатель жизни, который доступен только в SDK Tools r14 on.Ничего себе!

1 голос
/ 16 апреля 2017

, если вы используете cocos2dx.Просто проблема в том, что ваше рабочее пространство не настроено с Android SDK.просто настройте новую рабочую область или настройте существующую рабочую область с помощью своей IDE (eclipse или android studio). Это мне подходит

...