4

既存の完全に機能するプロジェクト、ファイルにのみ追加しました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から16に「アップグレード」する前に完全に実行されていた既存のプロジェクトを実行しようとしましたが、そこでも同じエラーが発生します。私はその「アップグレード」を避けるべきだったと知っていました。今では、計画された制御された移行を実行できずに、強制されたときではなく、計画に従ってアップグレードするまでは発生しなかったはずの問題のトラブルシューティングに時間を浪費する必要があります。アプリのリリースが遅れました...

更新:からへのバグのある自動変換への接続があるようですが、すべての変換エラーを手動で修正default.propertiesproject.propertiesたにもかかわらず、問題は解決しません。私は今、開発環境がありません。ばかげてる。

4

2 に答える 2

6

驚くべき@TheTerribleSwiftTomatoからのこのソリューションを使用して、問題は最終的に解決されました。

これはすべて、「Android SDK Tools、r14のライブラリプロジェクトの変更」が原因でした。

私の人生をとても惨めにしてくれてありがとう@Google。システムの動作に根本的な変更を加えた場合、それに付随するすべての情報を取得する準備がまだできていないときに、SDK9からSDK16に「アップグレード」するように強制しないでください(または少なくともエラーを発行します)。この変更を直接指すことができるメッセージ)。

一方、@ Googleには、各ライブラリプロジェクトを独自のJARファイルに生成する待望の待望の機能を導入していただきありがとうございます。これは真の命の恩人であり、SDKToolsr14以降でのみ利用できます。わお!

于 2012-01-12T06:01:29.867 に答える
1

cocos2dxを使用している場合。単純な問題は、ワークスペースがandroidsdkで構成されていないことです。新しいワークスペースまたは既存のワークスペースをIDE(EclipseまたはAndroid Studio)で構成するだけです。

于 2017-04-16T20:13:21.967 に答える