2016-11-28 75 views
0

我想添加一個本地對話框在場景中播放視頻與exoplayer。 到目前爲止,我已經成功地正確地顯示對話框,但是當我開始打電話exoplayer的東西,我得到這個例外在logcat中:Unity3d android插件使用exoplayer NoClassDefFoundError

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$1.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$1.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$1.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$1.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就像是一個普通的項目一樣。

我不知道我可以添加什麼,所以如果你需要更多的信息隨時問:) 任何想法?

問候,

+0

嗨,你有沒有想過這個解決方案呢? –

+0

當然,沒問題。但是無論如何,ExoPlayer是通過AppCompatActivity繼承的嗎? –

+0

我不確定要理解你的問題。您的意思是通過AppCompat繼承,直接通過您的活動訪問Exoplayer嗎?這將是conviennient但Exoplayer是一個獨立的組件,它不包括在應用程序compat(上次我檢查)。您必須根據此https://github.com/google/ExoPlayer – user1796260

回答

0

您必須添加ExoPlayer的編譯版本爲.aar或在您的統一項目.jar,它會正常工作。