【问题标题】:Calling static jar function from Unity3D从 Unity3D 调用静态 jar 函数
【发布时间】:2013-05-10 13:15:36
【问题描述】:

我制作并编译了一个 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[])

我是否缺少调用静态方法的内容? 谢谢!

【问题讨论】:

    标签: android plugins jar static unity3d


    【解决方案1】:

    据我所知有两个问题:

    1. 你必须把你的jar包放到Assets/Plugins/Android/bin;
    2. 你总是会在你的 windows/mac 编辑器上遇到这个错误,你必须在你的 android 设备上运行它;

    【讨论】:

    • 明确一点,即使选择了“Android Build”,它也不会在编辑器中运行?所以我需要为 Android 构建并在 sim/device 上运行?
    • 不,即使你选择android build它也不会运行,你必须在设备上运行才能调用任何jar函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多