转换为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
文件不是外部的jar文件,所以这里的答案对我的情况没有帮助。
更新:我删除了可疑的.aidl
文件,清理项目,但问题没有消失。 奇怪的。
更新:我知道了! 我刚刚尝试运行一个现有的项目,该项目在将SDK升级到9之前已经完美运行,并且我也遇到了同样的错误。 我知道我应该避免这种“升级”。 现在,我必须浪费时间解决一个本来不应该存在的问题,直到我根据计划进行升级时,而不是在我被强制执行时进行升级,而无法进行有计划和受控制的迁移。 应用发布延迟...
更新:似乎有一个从default.properties
到project.properties
的bug自动转换的连接,但尽管我手动更正了所有转换错误,但问题仍然存在。 我现在没有开发环境。 这是荒唐的。
问题终于解决了,使用这个来自惊人的@TheTerribleSwiftTomato的解决方案。
这全部是由“Android SDK Tools中的库项目更改r14”引起的。
感谢@Google让我的生活变得如此悲惨。 如果您引入系统行为的根本性变化,当我还没有准备好吞并随附的所有信息时(或者至少发出错误),不要强制我从SDK 9“升级”到SDK 16消息,可以直接指向此更改)。
另一方面,真正感谢@Google引入了期待已久,热切期待的功能,该功能可将每个库项目生成到自己的JAR文件中。 这是一个真正的救星,它只能从SDK Tools r14开启。 哇!
如果你使用的是cocos2dx。 简单的问题是你的工作区没有配置android sdk。 只需使用IDE(eclipse或android studio)创建一个新的工作区或现有的工作区即可
链接地址: http://www.djcxy.com/p/74589.html