問題の世界

Dalvik形式への変換がエラー1で失敗しました – なぜですか? | android,dalvik,aidl

I only added to an existing fully working project, the file
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ではない ので、ここは私の場合は役に立たない。

Update: I removed that suspicious
.aidl file, clean the project, but the problem didn’t
go away. Weird.

Update: I knew it! I just tried running an
existing project that used to run perfectly before I “upgraded” the
SDK from 9 to 16 and I get the same error there as well. I knew I
should have avoided that “upgrade”. Now I have to waste time on
troubleshooting a problem that shouldn’t have been there until I
upgrade according to plan, not when I am
forced
to, without being able to do a planned & controlled
migration. App release delayed…

Update: There seems to be a connection to the
buggy automatic conversion from
default.properties to project.properties
but despite me correcting all conversion errors manually, the
problem still persists. I am now left with no development
environment. This is ridiculous.

ベストアンサー

驚くべき@TheTerribleSwiftTomatoからのこの解決策を使用して、最終的に解決された問題。

これはすべて「 Android SDKツールのライブラリプロジェクト、r14
」を参照してください。

私の人生をとても悲惨なものにしてくれてありがとう@Google。システムの動作に根本的な変更を導入した場合は、付属のすべての情報を手に入れる準備ができていないときに、SDK
9からSDK
16へのアップグレードを強制しないでください(少なくとも、エラーを出してくださいこの変更を直接指し示すことができるメッセージ)。

一方、本当には、各ライブラリプロジェクトを独自のJARファイルに生成します。これは本当の人生保護人です。これは、SDKツール
r14 からのみ利用できます。うわー!

Exit mobile version