gpt4 book ai didi

javascript - 在 Unity 中使用 Android Studio 上的类

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:19 26 4
gpt4 key购买 nike

我在 Android Studio 上创建了一个项目(接收持续数据流的蓝牙服务器套接字),我想知道是否可以将其转换为可以在 Unity 上使用的 .dll? Unity 使用 Javascript,但代码是 Java 语言,但我知道如果我将 Java 做成一个库,Java 可以嵌入到 JavaScript 中。我做了相当多的研究,并使用 gradle 导出 .jar 文件,然后我读到我可以使用 IKVM 将 .jar 转换为 .dll,但有人说 IKVM 不能用于 android 项目?这是真的?如果是这样,有没有办法可以在 Unity 上使用该类?

最佳答案

我不会担心创建 dll,一个 jar 就足够了。

最终目标是生成 your_plugin.jar 文件,并将其移动到 Assets/Plugins/Android/your_plugin.jar。然后您可以通过 JNI 使用 C#(或者可能是 Javascript)访问它。

我建议关注this教程。

要点是,在您的 jar 文件中,您可以扩展默认的 UnityPlayerActivity 并创建您需要的任何方法。我会从一些简单的东西开始,只返回一个字符串。生成 jar 文件并将其放入 Assets/Plugins/Android 中。在同一目录中创建 AndroidManifest.xml,这会导致 Unity 使用扩展 Activity 而不是默认启动。在 Unity 端,获取对您扩展的 Activity 的当前实例的引用,然后调用您的方法,如下所示:

  // get a reference to the class
AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");

// get a reference to the class instance from a static variable
AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject> ("currentActivity");

// call a method in your UnityPlayer class that returns a string
String s = currentActivity.Call<string>("myJavaMethodReturningString");

关于javascript - 在 Unity 中使用 Android Studio 上的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com