Преобразование в формат Dalvik не получилось с ошибкой 1 - Почему?
Я только добавил к существующему полностью работающему проекту, файл 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
файл не внешний баннер, поэтому ответ здесь не поможет в моем случае.
Обновление: Я удалил этот подозрительный файл .aidl
, очистил проект, но проблема не исчезла. Weird.
Обновление: Я знал это! Я просто попробовал запустить существующий проект, который работал отлично, прежде чем я "обновил" SDK с 9 до 16, и там тоже получаю ту же ошибку. Я знал, что должен был избежать этого "обновления". Теперь мне приходится тратить время на устранение неполадок, которые не должны были быть до тех пор, пока я не обновляюсь в соответствии с планом, а не когда я принудительно, не имея возможности сделать это плановая и контролируемая миграция. Задержка приложения отложена...
Обновление:. Кажется, есть подключение к автоматическому преобразованию багги с default.properties
до project.properties
, но, несмотря на то, что я исправляю все ошибки преобразования вручную, проблема все еще остается сохраняется. Теперь у меня нет среды разработки. Это смешно.
Ответы
Ответ 1
Проблема окончательно решена, используя это решение из удивительного @TheTerribleSwiftTomato.
Все это вызвано " Изменения в библиотечных проектах в Android SDK Tools, r14".
Спасибо @Google за то, что моя жизнь так несчастна. Если вы вносите радикальное изменение в поведение системы, не заставляйте меня "обновлять" с SDK 9 до SDK 16, когда я еще не готов собирать всю информацию, которая приходит с ним (или, по крайней мере, выдает ошибку сообщение, которое может указывать непосредственно на это изменение).
С другой стороны, по-настоящему благодарю вас @Google за то, что вы ввели долгожданную, многолетнюю, функцию, которая генерирует каждый проект библиотеки в свой собственный файл JAR. Это настоящая спасатель, доступный только из SDK Tools r14. Wow!
Ответ 2
если вы используете cocos2dx. Просто проблема заключается в том, что ваше рабочее пространство не настроено с помощью sroid sroid. просто создайте новое рабочее пространство или существующую рабочую область с помощью вашей среды IDE (студия eclipse или android).it для меня.