Java プラグインを作成する方法はいくつかありますが、いずれの場合も、プラグインの .class ファイルを含む .jar ファイルが作成されます。1 つの方法は、JDK をダウンロードしてから、コマンド ラインから javac を使用して .java ファイルをコンパイルすることです。これにより、jar コマンド ライン ツールを使用して .jar にパッケージ化できる .class ファイルが作成されます。もう 1 つのオプションは、Eclipse IDE を ADT と一緒に使用することです。
Java プラグイン (.jar) をビルドしたら、それをAssets->Plugins->Android
Unity プロジェクトのフォルダーにコピーする必要があります。Unity は、残りの Java コードと一緒に .class ファイルをパッケージ化し、Java Native Interface (JNI) を使用してコードにアクセスします。JNI は、Java からネイティブ コードを呼び出す場合と、ネイティブ コードから Java (または JavaVM) と対話する場合の両方で使用されます。
ネイティブ側から Java コードを見つけるには、Java VM にアクセスする必要があります。幸いなことに、C/C++ コードに次のような関数を追加することで、そのアクセスを簡単に取得できます。
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
JNIEnv* jni_env = 0;
vm->AttachCurrentThread(&jni_env, 0);
}
これだけで、C/C++ から Java を使い始めることができます。JNI を完全に説明することは、このドキュメントの範囲を超えています。ただし、通常、これを使用するには、次の例に示すように、クラス定義を見つけ、コンストラクター () メソッドを解決し、新しいオブジェクト インスタンスを作成する必要があります。
jobject createJavaObject(JNIEnv* jni_env) {
// find class definition
jclass cls_JavaClass = jni_env->FindClass("com/your/java/Class");
// find constructor method
jmethodID mid_JavaClass = jni_env->GetMethodID (cls_JavaClass, "<init>", "()V");
// create object instance
jobject obj_JavaClass = jni_env->NewObject(cls_JavaClass, mid_JavaClass);
// return object with a global reference
return jni_env->NewGlobalRef(obj_JavaClass);
}
この説明は、いくつかの例も書かれているこの情報ページからのものです。ここを見てみるといいよ!これも一読の価値ありかもしれません。