从Unity3D调用静态jar函数

时间:2013-05-15 20:03:33

标签: android plugins jar static unity3d

我制作并编译了一个Android库,其中包含一个简单的类和一个简单的静态函数:

package moo;

public class MyTestClass {

    public static String Foo(){
        return "Foo from Moo";
    }

}

我将.jar放在我的Assets / Plugins / Android文件夹中。然后在Unity:

    void OnGUI () {
        string somestring = "foooooooooooOOooo";

        AndroidJavaClass testClass = new AndroidJavaClass("moo.MyTestClass");
        somestring = testClass.CallStatic<string>("Foo");

        GUI.Label (new Rect (20, 20, 100, 20), somestring);
    }

我收到一个错误: JNI:无法找到'Foo'的方法ID(静态) UnityEngine.AndroidJavaObject:CallStatic(String,Object [])

我错过了调用静态方法的内容吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

据我所知,有2个问题:

  1. 你必须将你的jar包放到Assets / Plugins / Android / bin;
  2. 你将永远在你的windows / mac编辑器上出现这个错误,你必须在Android设备上运行它;