gpt4 book ai didi

java - 统一安卓 : Didn't find class "com.unity3d.player.ReflectionHelper"

转载 作者:行者123 更新时间:2023-11-30 00:08:23 24 4
gpt4 key购买 nike

我正在构建一个使用一些 native android 库的 Unity Android 应用程序。在我出于性能原因尝试将对 native 代码的调用移动到另一个线程之前,我已经很好地设置并运行了所有这些。

我首先遇到了 JNI 不喜欢线程的问题,所以添加了一个AndroidJNI.AttachCurrentThread(); 调用修复了该 fatal error 。但是现在有一个新的非致命异常被反复抛出并导致我的 native 代码无法运行。

堆栈跟踪在下面,但它似乎集中在缺少 JVM 未找到的 com.unity3d.player.ReflectionHelper 类。

有没有人知道这可能哪里出错了?

02-02 15:25:05.194 10248-10416/com.limoncello.androidtest E/mono: Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for UnityEngine.AndroidReflection ---> UnityEngine.AndroidJavaException: java.lang.ClassNotFoundException: Didn't find class "com.unity3d.player.ReflectionHelper" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib, /vendor/lib, /system/lib, /vendor/lib]]
java.lang.ClassNotFoundException: Didn't find class "com.unity3d.player.ReflectionHelper" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/system/lib, /vendor/lib, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at UnityEngine.AndroidJNISafe.CheckException () [0x0008c] in /Users/builduser/buildslave/unity/build/Runtime/Export/AndroidJNISafe.cs:24
at UnityEngine.AndroidJNISafe.FindClass (System.String name) [0x0000f] in /Users/builduser/buildsla

最佳答案

这有点晚了,但我遇到了同样的问题。

我在 Android 上从 Unity3D 的非用户界面线程调用 Unity3D 的静态方法 Java。为我解决的是做

jc = new AndroidJavaClass("domain.yourthing.yourclassname"); 

在主 unity3d 线程中。调用那些(在执行附加之后)似乎可以从其他 c# 线程正常工作。

关于java - 统一安卓 : Didn't find class "com.unity3d.player.ReflectionHelper",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586023/

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