2017-05-18 4 views
1

Google PlayゲームサービスとAdmobプラグインを使用すると、背中をAPKに構築できないようで、次のエラーメッセージが表示されます。私はいくつかの重複したファイルを削除したが、私はまだ私のアプリを構築することができない理由を見つけることに失敗しているので、どんな助けていただければ幸いです。クラスをデックスフォーマットに変換できませんUnity

私はUnity Unity 5.6.1f1(64-bit)を使用しています。

ゲームサービス:https://github.com/playgameservices/play-games-plugin-for-unity広告:https://github.com/unity-plugins/Firebase-Admob-Unity

CommandInvokationFailure: Unable to convert classes into dex format. 
C:/Program Files/Java/jdk1.8.0_121\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/Jack/AppData/Local/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" - 

    stderr[ 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzbyb; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzbyc; 
    2 errors; aborting 
    ] 

enter image description here

答えて

2

いくつかの背景

UnityはAndroid向けプロジェクトを構築するとき、それは、Android SDKからいくつかのツールを起動します。そのプロセスの一環として、Android用のすべてのネイティブ(Java)コードをDEX(Dalvik実行可能ファイル)というファイル形式に変換します。

すべてのAndroidプラグインは、そのツールを使用して1つのパッケージに組み込まれます。この問題は、いくつかのプラグインが同じコンパイル済みJavaコード(クラス)を持つ場合に発生します。これはDEXツールは、あなたが見ているようなエラーで失敗します:

Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzbyb; Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzbyc;

これは、それらの名前を持つクラスがすでに別のライブラリに含まれていたことを意味し、したがって、彼らは再び追加することはできません。

考えられる原因

としては、プロジェクト内の重複するプラグインを持っている場合、このエラーが発生し、上記で説明。これはさまざまなシナリオで発生する可能性がありますが、次の例があります。

  • 同じプラグインがプロジェクトの異なるフォルダに複数回含まれています。
  • 同じプラグインが異なるバージョンで複数回含まれています。
  • プラグインには他の依存関係が埋め込まれていますが、これらの依存関係はすでに何らかの形でプロジェクトに含まれています。

    あなたは、あなたのプロジェクトに重複したAndroidのプラグインを検索し、それらを排除すべき修正する方法

(のみ1コピーを保持)。投稿したエラーメッセージから、ここでの問題はGoogle Playサービスライブラリに関連しています。あなたはそれを調べるべきです(play-services-xxxx.aarという名前のライブラリ)。

有料ヘルプ(恥知らずプラグ)

私は問題のこの正確な種類を固定するための専門的なサービスを提供しています。あなた(または他の誰か)がこのような問題を自分で解決できない場合は、contact meまで気軽に解決してください。

+0

答えていただきありがとうございます。私はプレイサービスからすべてのプラグインを見ており、重複するファイルは見られません。私は私のプレイサービスファイルリストのスクリーンショットへのリンクを張っています。ありがとう。 –

+0

Google Playサービスのバージョンが混在しています。すべてのライブラリに同じバージョンが必要です。 –

+0

私は必要な2つのプラグインをインストールしたので、これをアドバイスできますか、どのように進行するかはわかりません。ありがとう。 –

-1

Google広告11.2にはエラーがあります。特定のjarクラスを再利用します。 それ自体では問題ではありません もう一度別のGoogleクラス、つまりfirebaseを追加すると完了です。 しかし、修正があります。 Googleはfirebase 4.2と広告11を出しました。4

関連する問題