android - 从Unity3D调用静态jar函数

标签 android plugins jar static unity-game-engine

我制作并编译了一个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. 你必须把你的jar包放到Assets/Plugins/Android/bin下;
  2. 您总是会在 Windows/Mac 编辑器上收到此错误,您必须在 Android 设备上运行此错误;

关于android - 从Unity3D调用静态jar函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573986/

相关文章:

android - 4.0版本如何获取webView的透明背景

android - 动态获取数组中的所有图像资源ID

java - 优化 jar 文件中的图像

android - 没有google账号怎么安装条码扫描库?

java - 从 Android 设备录制音频

c++ - 如何指定Qt插件构造函数?

jar - 创建一个包含其他库文件的 JAR 文件

java - ServletContext.getResource 从 lib 中获取资源

plugins - 可以更改 OpenGL 纹理名称吗?

jquery - 我如何使这个 jQuery 插件可链接?