首页 文章

使用exoplayer NoClassDefFoundError的Unity3d android插件

提问于
浏览
0

我正在尝试在场景上添加原生对话框以使用exoplayer播放视频 . 到目前为止,我已经成功地显示了对话框,但是当我开始调用exoplayer时,我在logcat中得到了这个异常:

引起:java.lang.NoClassDefFoundError:解析失败: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 at android.app.FragmentManagerImpl.moveTo上的android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)的android.app.FragmentManagerImpl.moveToState(FragmentManager.java:9971)android.app.FragmentManagerImpl的android.app.BackStackRecord.run(BackStackRecord.java:815) .execPendingActions(FragmentManager.java:1578)位于android.app.Handler.dispatchMessage上的android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483)android.os.Handler.handleCallback(Handler.java:751) .java:95)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6077)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) by:java.lang.ClassNotFoundException:java.lang.ClassLoader.findLoadedClass(Native Method),位于java.lang.ClassLoader.loadClass的java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)中的java.lang.ClassNotFoundException:com.eppz.plugins.DemoPlayer (ClassLoader.java:362)java.elang.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)在Android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)的android.app.Fragment.performCreateView(Fragment.java:2352)处于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995) )在android.app.BackStackRecord.run(BackStackRecord.java:815)的android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483) . os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)处于位于com.android.internal的java.lang.reflect.Method.invoke(Native Method)的android.app.ActivityThread.main(ActivityThread.java:6077)上的droid.os.Looper.loop(Looper.java:154) . os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)引起:java.lang.NoClassDefFoundError:失败的解析:Lcom / google /安卓/ exoplayer / ExoPlayer $监听; 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 at android.app.FragmentManagerImpl.moveTo上的android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)的android.app.FragmentManagerImpl.moveToState(FragmentManager.java:9971)android.app.FragmentManagerImpl的android.app.BackStackRecord.run(BackStackRecord.java:815) .execPendingActions(FragmentManager.java:1578)位于android.app.Handler.dispatchMessage上的android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483)android.os.Handler.handleCallback(Handler.java:751) .java:95)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6077)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) by:java.lang.ClassNotFoundException:在路径上找不到类“com.google.android.exoplayer.ExoPlayer $ Listener”: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]],位于java.lang的java.lang.ClassLoader.loadClass(ClassLoader.java:380)的dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) . 在com.eppz.plugins.EPPZ_DialogFragment.preparePlayer(EPPZ_DialogFragment.java:96)的classLoader.loadClass(ClassLoader.java:312)位于android.app.Fragment的com.eppz.plugins.EPPZ_DialogFragment.onCreateView(EPPZ_DialogFragment.java:87) .performCreateView(Fragment.java:2352)位于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:995)的android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171),位于android.app.BackStackRecord.run(BackStackRecord . java:815)在android.app.FragmentManagerImp位于android.app.Handler.handleCallback(Handler.java:751)的android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483)上的l.execPendingActions(FragmentManager.java:1578)android.os.Handler.dispatchMessage(Handler.java:95)位于android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6077),位于java.lang.reflect .Method.invoke(Native Method)位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

我刚刚添加了一个纹理视图,并在我的android部分添加了exoplayer,就像它是一个普通的项目一样 .

我不知道我可以添加什么,所以如果你需要更多信息,请随时问:)任何想法?

问候,

1 回答

  • 0

    您必须在Unity项目中将 ExoPlayer 的编译版本添加为 .aar.jar ,它才能正常工作 .

相关问题