如何将.jar
文件导入Unity3D?我使用的是Windows平台,而不是Android,iOS,Mac等。我将.jar
文件放入Assets / Plugins / x86。我不明白如何在.jar
库中调用我的函数。
我在这里找不到任何关于windows的东西:http://docs.unity3d.com/Manual/Plugins.html
谢谢。
在Windows平台上的Unity中,据我所知,你没有内置的支持,但很容易使用ikvm将Java字节码转换为.NET。它附带一个名为ikvmc的转换器,因此您可以简单地使用:
ikvmc your.jar -target:library ==> add -target:library to generate dll
它会将你的jar转换为your.dll,这是你在.NET dll中重写的Java代码。然后,只需将它放在您的assets文件夹中即可使用它,就好像它是本机.NET库一样。例如,如果您的Java代码是:
public class HelloWorld {
public static void hello() {
System.out.println("Hello, World");
}
}
您只需使用HelloWorld.hello()
即可
如果你想直接添加jar文件
下面的示例类文件,编译成jar
package xxx;
import android.util.Log;
public class Helper {
public static void testAndroid()
{
Log.i(“Unity”, “test android”);
}
}
将jar文件放在plugins-> Android中统一,并在插件编辑器中检查android平台。请注意,如果您使用的是Android引用,它只会在Android设备或模拟器上运行
创建一个新的MonoBehaviour脚本TestAndroidPlugin.cs,并将其附加到相机:
public class TestAndroidPlugin : MonoBehaviour {
void Start () {
Debug.Log("Android function is to be called");
var ajc = new AndroidJavaClass("xxx.Helper"); //(1)
ajc.CallStatic("testAndroid"); //(2)
Debug.Log("Androidtion is called");
}
}
据我所知,unity不支持用于Windows开发的jar库,因为支持的编程语言是
UnityScript(统一的javascript),boo和C#。
你可以在这里查看文档unity supported programming language 即使他们放弃了对unity 5.0的预订支持,但你可以使用它。而不是jar库为什么不寻找解决您想要解决的相同问题的c#库。