2

わかりました、私はこの問題を徹底的にグーグルで調べましたが、私の人生で問題を解決することはできません.

まず、libGDX フレームワーク内でゲームを作成する eclipse を使用しています。プロジェクト内に kryonet をインポートしました。

PC用にコンパイルすると機能します。

私の問題は、Android 用にコンパイルすると、次のエラーが表示されることです。

Dx trouble writing output: already prepared
[Dex Loader] Unable to execute dex: Multiple dex files define Lcom/esotericsoftware/jsonbeans/Json$FieldMetadata;
[-android] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/esotericsoftware/jsonbeans/Json$FieldMetadata; 

私はできる限りのことをしました。ライブラリを Android プロジェクトのビルド リストに追加し、それらを Android プロジェクトの /lib フォルダーに追加しました。DEX フォルダーを削除しました。ビルドをクリーンアップして再起動しました。私の /gen は、注文とエクスポートで /src の上にあります。基本的なものが明らかに欠けています。私は今日ずっとこれをグーグルで過ごしてきました。

Kryonetに関連して私が使用しているライブラリ.JARのリスト:

asm 
jsonbeans 
junit 
kryo 
kryo-debug
minlog 
minlog-none 
objenesis 
reflectasm

誰かが私を助けてくれますか?ありがとうございました :)

-編集-jsonbeanを削除すると、

[2013-12-19 22:35:43 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/esotericsoftware/kryo/ClassResolver;
[2013-12-19 22:35:43] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/esotericsoftware/kryo/ClassResolver;
4

2 に答える 2

4
Dx トラブル書き込み出力: 準備済み
[Dex Loader] dex を実行できません: 複数の dex ファイルで Lcom/esotericsoftware/jsonbeans/Json$FieldMetadata が定義されています。
[-android] Dalvik 形式への変換に失敗しました: dex を実行できません: 複数の dex ファイルで Lcom/esotericsoftware/jsonbeans/Json$FieldMetadata が定義されています。

それが言うように、同じパッケージの重複した参照があります。これらのパッケージが、追加するライブラリ内の正確な場所を把握する必要があります。そして、そのコピーを 1 つだけ保持する方法を見つけてください。

kyronet には既に jsonbeans が含まれていると思います。依存関係のリストから jsonbeans ライブラリを削除してみてください。

于 2013-12-20T04:35:05.220 に答える
1

うわー、私は興奮しています。私を助けてくれたクマール・ビベクに感謝します。他の誰かが私と同じくらい初心者であり、Googleで私と同じように不運だった場合に備えて、ここで私自身の質問に答えています:)

まず、Kryonet のソースをメインの GDX プロジェクトの /src フォルダー (プラットフォームに依存しないプロジェクト) にインストールします。

次に、必要な .JAR をメイン GDX プロジェクトの /lib にコピーします。

次に、Eclipse でメイン プロジェクトを右クリックし、ライブラリをビルド パスに追加します。注文とエクスポートの下でそれらを確認してください(これは必要ないかもしれません)

(これは私が間違いを犯した場所です)必要な.JARをAndroidソースフォルダーの/ libに入れないようにしてくださいメインGDXプロジェクトの/ libフォルダーのみ

次に、Eclipse で Android GDX プロジェクトを右クリックし、[JAR の追加] をクリックします。このメニューで、メインの GDX プロジェクトの /lib フォルダーに移動し、Kryonet に必要なすべての JAR を追加します。次に、Order and Export に移動し、これらすべての JAR を確認します。

これで、Android GDX プロジェクトをコンパイルできるようになりました。スタック オーバーフローに感謝します。私は今かなりほろ酔いです笑 :)

于 2013-12-20T07:01:44.040 に答える