簡體   English   中英

AndroidJavaException:java.lang.ClassNotFoundException:找不到類“ com.unity3d.player.ReflectionHelper”

[英]AndroidJavaException: java.lang.ClassNotFoundException: Didn't find class “com.unity3d.player.ReflectionHelper”

我試圖在OnAudioFilterRead函數體中調用一些Java方法。

這是代碼段。

void OnAudioFilterRead(float[] data, int channels)
{
    AndroidJNI.AttachCurrentThread();
    if (ok)
    {
        if (obj == null)
        {
            obj = new AndroidJavaObject("com.xx.aop.media.av.GPUFrameCapturer");
            Debug.Log(obj.Call<bool>("isRecording"));
        }
    }
}

當我在Android平台上構建apk時。

總是遇到此錯誤。

06-13 15:20:51.981 20255-20388 / com.MeiTu.XRay E / Unity:

AndroidJavaException:java.lang.ClassNotFoundException:在路徑:DexPathList [[directory“。”],nativeLibraryDirectories = [/ system / lib,/ vendor / lib,/ system /下,找不到類“ com.unity3d.player.ReflectionHelper” lib,/ vendor / lib]]

java.lang.ClassNotFoundException:在路徑:DexPathList [[directory“。”],nativeLibraryDirectories = [/ system / lib,/ vendor / lib,/ system / lib,上找不到類“ com.unity3d.player.ReflectionHelper” /供應商/ LIB]]

OnAudioFilterRead函數在另一個Thread被調用,因此您似乎使用了AndroidJNI.AttachCurrentThread()使得可以從另一個線程使用AndroidJavaObject 您還需要分離它。 OnAudioFilterRead函數的末尾調用AndroidJNI.DetachCurrentThread()

void OnAudioFilterRead(float[] data, int channels)
{
    AndroidJNI.AttachCurrentThread();
    if (ok)
    {
        if (obj == null)
        {
            obj = new AndroidJavaObject("com.xx.aop.media.av.GPUFrameCapturer");
            Debug.Log(obj.Call<bool>("isRecording"));
        }
    }
    AndroidJNI.DetachCurrentThread()
}

如果這不起作用,請在OnAudioFilterRead函數(例如StartAwake函數)之外初始化AndroidJavaObject ,然后在上述OnAudioFilterRead函數中使用它。

AndroidJavaObject obj;

void Start()
{
    obj = new AndroidJavaObject("com.xx.aop.media.av.GPUFrameCapturer");
}

void OnAudioFilterRead(float[] data, int channels)
{
    AndroidJNI.AttachCurrentThread();
    if (ok)
    {
        if (obj == null)
        {
            Debug.Log(obj.Call<bool>("isRecording"));
        }
    }
    AndroidJNI.DetachCurrentThread()
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM