を使用していますが、私はUnity3Dに複数のjarライブラリを使用することができますどのような方法がありますプロジェクト 他の瓶に依存していますか?
no。
お互いに依存するjarライブラリが多数ある場合は、それらを1つに結合する必要があります。はい、ジャーは1つに統合されなければなりません。そしてUnityがそれらにアクセスするために使用できるブリッジを作ることができます。
ジャーlibに1:私は直接
ジャーlibに2メソッドを呼び出す必要がありますライブラリ:1はlibライブラリはこのシナリオでは
を使用していますが、あなたがLibの2をインポートする必要がありますin Lib 1。次に、Lib 1で関数を作成し、Jarで関数を呼び出しますLib 2。 第1のリブとリブ2を構築することができます。
Eclipseでプロジェクト - >すべてを構築。次に、それらを両方とも1つのjarファイルにエクスポートします。ここでも、Eclipseで、ファイル - >輸出... - >Javaの - >JARファイル。次に、Libsが表示されたら両方のLibsを選択します。
のJava:下の設定を使用し
// が
public class Lib2{
public static Lib2 instance = new Lib2();
public double getRandomNumber() {
double advancedRandomNumber = 5;
return advancedRandomNumber;
}
}
(これはこれで機能コードであると仮定します)のLib /ジャーからスタッフ// Lib/Jarのもの(com.roxy.app)パッケージ(Lets assu私これは
public class Lib1{
public static Lib1 instance = new Lib1();
public double getMagicRandomNumber() {
double advancedRandomNumber = 15;
return advancedRandomNumber;
}
//Bridge to access Stuff from jar 2
public double getExtraMagicRandomNumber()
{
return Lib2.instance.getRandomNumber();
}
}
C#)と、その中に機能コードです:
private AndroidJavaClass androidClass;
private AndroidJavaObject androidFunction;
#if UNITY_ANDROID
if (androidClass == null || androidFunction == null)
{
androidClass = new AndroidJavaClass("com.roxy.app.Lib1");
androidFunction = androidClass.GetStatic<AndroidJavaObject>("instance");
}
#endif
次にあなたがLib1
からgetMagicRandomNumber()
関数を呼び出すことができます。
double adRand = androidFunction.Call<double>("getMagicRandomNumber");
からLib2
から関数を呼び出しますブリッジ機能はLib1
で作成されました。
これだけです。これは難しいことではありませんが、ではなくがコンパイルされる可能性があります。このエディタに直接入力したためです。マイナーな変更が必要な場合があります。
私はそれを忘れてしまいます**。それは単なるUnityのためではありません。あなたは何の利益も得られないほどの痛みを抱えています。 – Fattie