2

我制作并编译了一个 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: Unable to find method id for 'Foo' (static) UnityEngine.AndroidJavaObject:CallStatic(String, Object[])

我错过了一些可以调用我的静态方法的东西吗?谢谢!

4

1 回答 1

2

据我所知,有两个问题:

  1. 你必须把你的jar包放到Assets/Plugins/Android/bin;
  2. 你总是会在你的 windows/mac 编辑器上得到这个错误,你必须在你的 android 设备上运行它;
于 2013-05-17T07:48:58.503 回答