简体   繁体   English

Java插件可在Android Studio Project中使用,但不能在Unity中使用

[英]java Plugins working in Android Studio Project, but not in Unity

I am using Moquette Android Broker. 我正在使用Moquette Android Broker。 So, compiling the maven lib and using the jars within an Android Studio project works fine! 因此,编译maven lib并在Android Studio项目中使用jar可以正常工作!

import org.eclipse.moquette.server.Server;

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

So thats the java code, in Unity I am wrapping the function calls like: 这就是Java代码,在Unity中,我将函数调用包装为:

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

However, The Unity project is building without any Error, but when I start I do not get any Error and also no Debug output of the call (neither from Unity, not from the java plugins). 但是,Unity项目的构建没有任何错误,但是当我启动时,我没有得到任何错误,也没有调用的Debug输出(都不来自Unity,也不来自Java插件)。 So Unity is not complaining but also the java code is not executed i guess. 因此,Unity不会抱怨,但是我猜Java代码也不会执行。

Any ideas? 有任何想法吗?

Use AndroidJavaObject instead of AndroidJavaClass , like this: 使用AndroidJavaObject代替AndroidJavaClass ,如下所示:

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

If you wanted to invoke a static method, you can use AndroidJavaClass , but then you would have to use the CallStatic(...) method. 如果要调用静态方法,则可以使用AndroidJavaClass ,但是必须使用CallStatic(...)方法。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM