Unity3d android 插件使用 exoplayer NoClassDefFoundError
Unity3d android pluggin using exoplayer NoClassDefFoundError
我正在尝试在场景上添加本机对话框以使用 exoplayer 播放视频。
到目前为止,我已经成功地正确显示了对话框,但是当我开始调用 exoplayer 时,我在 logcat 中得到了这个异常:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/eppz/plugins/DemoPlayer; at
com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96)
at
com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87)
at android.app.Fragment.performCreateView(Fragment.java:2352) at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)
at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:815) at
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at
android.os.Handler.handleCallback(Handler.java:751) at
android.os.Handler.dispatchMessage(Handler.java:95) at
android.os.Looper.loop(Looper.java:154) at
android.app.ActivityThread.main(ActivityThread.java:6077) at
java.lang.reflect.Method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused
by: java.lang.ClassNotFoundException: com.eppz.plugins.DemoPlayer at
java.lang.VMClassLoader.findLoadedClass(Native Method) at
java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742) at
java.lang.ClassLoader.loadClass(ClassLoader.java:362) at
java.lang.ClassLoader.loadClass(ClassLoader.java:312) at
com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96)
at
com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87)
at android.app.Fragment.performCreateView(Fragment.java:2352) at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)
at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:815) at
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at
android.os.Handler.handleCallback(Handler.java:751) at
android.os.Handler.dispatchMessage(Handler.java:95) at
android.os.Looper.loop(Looper.java:154) at
android.app.ActivityThread.main(ActivityThread.java:6077) at
java.lang.reflect.Method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/google/android/exoplayer/ExoPlayer$Listener; at
com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96)
at
com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87)
at android.app.Fragment.performCreateView(Fragment.java:2352) at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)
at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:815) at
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at
android.os.Handler.handleCallback(Handler.java:751) at
android.os.Handler.dispatchMessage(Handler.java:95) at
android.os.Looper.loop(Looper.java:154) at
android.app.ActivityThread.main(ActivityThread.java:6077) at
java.lang.reflect.Method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.ClassNotFoundException: Didn't find class
"com.google.android.exoplayer.ExoPlayer$Listener" on path:
DexPathList[[zip file
"/data/app/com.eppz.plugins.alert-1/base.apk"],nativeLibraryDirectories=[/data/app/com.eppz.plugins.alert-1/lib/arm,
/data/app/com.eppz.plugins.alert-1/base.apk!/lib/armeabi-v7a,
/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
com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96)
at
com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87)
at android.app.Fragment.performCreateView(Fragment.java:2352) at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)
at
android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:815) at
android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at
android.os.Handler.handleCallback(Handler.java:751) at
android.os.Handler.dispatchMessage(Handler.java:95) at
android.os.Looper.loop(Looper.java:154) at
android.app.ActivityThread.main(ActivityThread.java:6077) at
java.lang.reflect.Method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
我刚刚在我的 android 部分添加了一个纹理视图并添加了 exoplayer,就像它是一个普通项目一样。
我不知道我可以添加什么,所以如果您需要更多信息,请随时询问 :)
有什么想法吗?
此致,
您必须在您的 Unity 项目中添加 ExoPlayer 的编译版本作为 .aar
或 .jar
,它才能正常工作。
我正在尝试在场景上添加本机对话框以使用 exoplayer 播放视频。 到目前为止,我已经成功地正确显示了对话框,但是当我开始调用 exoplayer 时,我在 logcat 中得到了这个异常:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/eppz/plugins/DemoPlayer; at com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96) at com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87) at android.app.Fragment.performCreateView(Fragment.java:2352) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171) at android.app.BackStackRecord.run(BackStackRecord.java:815) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.ClassNotFoundException: com.eppz.plugins.DemoPlayer at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742) at java.lang.ClassLoader.loadClass(ClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96) at com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87) at android.app.Fragment.performCreateView(Fragment.java:2352) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171) at android.app.BackStackRecord.run(BackStackRecord.java:815) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer/ExoPlayer$Listener; at com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96) at com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87) at android.app.Fragment.performCreateView(Fragment.java:2352) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171) at android.app.BackStackRecord.run(BackStackRecord.java:815) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer.ExoPlayer$Listener" on path: DexPathList[[zip file "/data/app/com.eppz.plugins.alert-1/base.apk"],nativeLibraryDirectories=[/data/app/com.eppz.plugins.alert-1/lib/arm, /data/app/com.eppz.plugins.alert-1/base.apk!/lib/armeabi-v7a, /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 com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96) at com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87) at android.app.Fragment.performCreateView(Fragment.java:2352) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171) at android.app.BackStackRecord.run(BackStackRecord.java:815) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) at android.app.FragmentManagerImpl.run(FragmentManager.java:483) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
我刚刚在我的 android 部分添加了一个纹理视图并添加了 exoplayer,就像它是一个普通项目一样。
我不知道我可以添加什么,所以如果您需要更多信息,请随时询问 :) 有什么想法吗?
此致,
您必须在您的 Unity 项目中添加 ExoPlayer 的编译版本作为 .aar
或 .jar
,它才能正常工作。