これは、Eclipse で jar をエクスポートする際によくある問題のようです。さて、私の文脈。
Unity アプリケーションで使用する Java プラグインを作成しようとしています。外部ライブラリのない単純なプラグインを作成したとき (classes.jar を除いて、UnityPlayerActivity を呼び出すことができます)、それはかなりうまく機能しました。「さて、いくつかのユーティリティ ライブラリを使用してみましょう」。そこで、Jackson ライブラリを使用して JSON データを解析および処理するプラグインを作成し、それを Java オブジェクトにシリアル化するか、RAW データを渡して Unity (C#) オブジェクトを構築できるようにしました。
ライブラリをファイル システムから 'libs' フォルダーに直接追加し (それらをリンクせずに .jar をコピーします)、ビルド パスに追加し、Order および Export内のすべてをチェックし、クリーンアップしてビルドし、JAR ファイルにエクスポートします (実行可能ではありませんが、単純な JAR ファイル)。次に、新しい .jar を Unity Assets/Plugins/Android フォルダーに追加し、.apk をビルドします。ゲームが開始されるとすぐに、コンストラクターが Jackson クラスを使用しているため、古典的な NoClassDefFoundError が発生します。.jar の内容を確認すると、Jackson ライブラリが実際にエクスポートされ、「libs」フォルダー内にあることがわかりますが、それでも「見つかりません」。エラーはメイン スレッドによってスローされるため、アプリケーションがクラッシュします。
API 17 で ADT を使用しているため、libs フォルダーの名前は「libs」にする必要があります (新しい Android プロジェクトを作成するときに Eclipse でさえこのフォルダーを作成します)、JRE 1.6 および Jackson ライブラリ ver. 2.2.0。ここですでに多くの質問をフォローしていますが、彼らの提案はどれも私にとってはうまくいきませんでした.
ここに何かポインタはありますか?Android API バージョンはここで何か関係がありますか? 私がしていないことはありますか?
前もって感謝します。