Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 转换为Dalvik格式失败,错误1-原因?_Android_Dalvik_Aidl - Fatal编程技术网

Android 转换为Dalvik格式失败,错误1-原因?

Android 转换为Dalvik格式失败,错误1-原因?,android,dalvik,aidl,Android,Dalvik,Aidl,我只在一个现有的完全工作的项目中添加了文件com/android/vending/billing/IMarketBillingService.aidl (我还没有添加任何其他内容(来自market_账单样本),因为我甚至还没有尝试使用该服务) 它可以完美地编译和构建,但当我尝试运行它时,控制台中会收到以下信息: java.lang.IllegalArgumentException: already added: Lcom/android/vending/billing/IMarketBillin

我只在一个现有的完全工作的项目中添加了文件
com/android/vending/billing/IMarketBillingService.aidl

(我还没有添加任何其他内容(来自market_账单样本),因为我甚至还没有尝试使用该服务)

它可以完美地编译和构建,但当我尝试运行它时,控制台中会收到以下信息:

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升级到16之前,我只是试着运行一个已经存在的项目,这个项目曾经运行得很好,但我也遇到了同样的错误。我知道我应该避免那个“升级”。现在,我不得不浪费时间对一个问题进行故障排除,这个问题在我按照计划升级之前不应该存在,而不是在我需要的时候,因为我无法进行有计划和有控制的迁移。应用程序发布延迟


更新:似乎有一个连接到buggy
default.properties
project.properties
的自动转换,但尽管我手动更正了所有转换错误,问题仍然存在。我现在没有开发环境。这太荒谬了。

问题终于解决了,使用了惊人的@TheTerribleSwiftTomato

这都是由“”引起的

感谢@Google让我的生活如此悲惨。如果您在系统行为中引入了一个根本性的改变,当我还没有准备好吸收随附的所有信息时,不要强迫我从SDK 9“升级”到SDK 16(或者至少发出一条可以直接指向此改变的错误消息)


另一方面,真的非常感谢@Google引入了人们期待已久、渴望已久的功能。这是一个真正的救命软件,只能从SDK工具上获得。哇

如果您正在使用cocos2dx。简单的问题是,您的工作区没有配置android sdk。只需使用您的IDE(eclipse或android studio)配置一个新的工作区或现有的工作区即可。它对我有效

至于.aidl文件,它们只在gen-folder中生成.java类(与项目的R.java位置相同)。它应该在project clean中删除,但重复检查不会造成任何伤害。@harism感谢您的提示。我将对此进行检查,但我怀疑这是一个比
.aidl
更糟糕的问题,因为它现在抱怨的
EditPreferences
文件实际上只存在一个库项目。我可能在复制项目时做了一些我不记得的事情。我讨厌滞后的IDE+现在是1。@harism OK我检查过了,由.aidl生成的.java类不在任何gen文件夹(多个库项目)中。我暂时删除了.aidl文件,所以这没问题。然而,我发现现在被投诉的
EditPreferences
文件是其他两个库项目使用的库项目中的第一个.java文件。这曾经是完美无瑕的。发生什么事了?@harism我当然知道。我甚至尝试过禁用自动重建、清除所有现有Eclipse、重新启动Eclipse,然后重新启用自动重建,但都没有效果。Android开发工具(Eclipse+SDK+ADT)的这种不可预测的行为正变得越来越严重。@harism Eclipse/Java应该与操作系统无关。事实并非如此。但我不认为这是问题的根源。问题的根源在于Google不允许您控制开发环境的配置管理。如果你想改变一件小事,你不能——你必须用它改变一切。这使得不可能知道发生了什么变化,从而加快故障排除的速度。agrrr…Related:唯一的问题是,您不能将库导出到自包含的JAR文件中,以便在多个工作区中使用(您始终需要引用库源代码)。无论如何,感谢您记录您的旅程并回答您自己的问题-您留下的链接帮助很大。