首页 > 解决方案 > java插件在Android Studio项目中工作,但不在Unity中

问题描述

我正在使用Moquette Android 代理。因此,编译 maven lib 并在 Android Studio 项目中使用 jar 可以正常工作!

import org.eclipse.moquette.server.Server;

Server server = new Server();
server.startServer();

这就是java代码,在Unity中我将函数调用包装起来:

AndroidJavaClass server = new AndroidJavaClass("org.eclipse.moquette.server.Server");
server.Call("startServer");

但是,Unity 项目正在构建时没有任何错误,但是当我开始时,我没有收到任何错误,也没有调用的调试输出(既不是来自 Unity,也不是来自 java 插件)。所以 Unity 没有抱怨,但我猜 java 代码也没有执行。

有任何想法吗?

标签: javaandroidmavenunity3d

解决方案


使用AndroidJavaObject而不是AndroidJavaClass,如下所示:

AndroidJavaObject server = new AndroidJavaObject("org.eclipse.moquette.server.Server");
server.Call("startServer");

如果你想调用一个静态方法,你可以使用AndroidJavaClass,但是你必须使用CallStatic(...)方法。

AndroidJavaClass server = new AndroidJavaClass("org.eclipse.moquette.server.Server");
server.CallStatic("startServer");

推荐阅读