从Unity3D调用静态jar函数 [英] Calling static jar function from Unity3D

查看:277
本文介绍了从Unity3D调用静态jar函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I made and compiled a Android Library, containing a simple class and a simple static function:

package moo;

public class MyTestClass {

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

}

我将.jar放入我的资产/插件/ Android文件夹。然后在Unity中:

I placed the .jar in my Assets/Plugins/Android Folder. Then In 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 [])

And I get an error: JNI: Unable to find method id for 'Foo' (static) UnityEngine.AndroidJavaObject:CallStatic(String, Object[])

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

Am I missing something to call my static method? Thanks!

推荐答案

据我所知,有2个问题:

there are 2 problem as far as I can see:


  1. 你必须将你的jar包放到Assets / Plugins / Android / bin;

  2. 你的windows / mac编辑器上总是会出现这个错误,你必须在Android设备上运行它;

这篇关于从Unity3D调用静态jar函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆