如何导入' .jar'库文件进入Unity?

时间:2015-12-31 12:16:26

标签: java unity3d jar import

如何将#threeColumn{ text-align: center; } 文件导入Unity3D?我使用的是Windows平台,而不是Android,iOS,Mac等。我将.jar文件放入Assets / Plugins / x86。我不明白如何在.jar库中调用我的函数。

我在这里找不到任何关于Windows的内容:http://docs.unity3d.com/Manual/Plugins.html

感谢。

3 个答案:

答案 0 :(得分:1)

在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()

即可使用它

答案 1 :(得分:0)

如果您想直接添加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");  
    }
}

答案 2 :(得分:0)

据我所知,unity不支持用于Windows开发的jar库,因为支持的编程语言是

  

UnityScript(统一的javascript),boo和C#。

您可以在此处查看文档 unity supported programming language 即使他们放弃了对Unity 5.0预订的支持,但你可以使用它。 而不是jar库,为什么不寻找解决您想要解决的同一问题的c#库