Closed RosalineMakar closed 6 years ago
Hi Rosaline, Sorry for the delay. The problem seems to be that currently the preview SDK also uses ExoPlayer uses compile 'com.google.android.exoplayer:exoplayer:r1.5.4' which has likely been broken by the usage of 2.5.1. If it's possible to use an earlier version for now that should work until we release a new version that uses the latest ExoPlayer.
Hi Rosaline,
After doing some further investigation on this it appears that ExoPlayer is backwards compatible since google has changed the package name. However due to an "oversight" they did not change their maven package (see https://github.com/google/ExoPlayer/issues/1842) so while both exoplayer 1 and 2 can be used together in one application it runs into gradle issues due to the naming.
As such as long as exoplayer 2 does not come from maven (i.e. from a submodule) as in your line: compile 'com.google.android.exoplayer:exoplayer:r2.5.1' You should be able to use both our preview sdk and your current logic. I was able to create a very simple application that tests this works. Basically I followed the "Locally" instructions from https://github.com/google/ExoPlayer
My dependencies for this project were: compile 'com.box:box-android-preview-sdk:2.0.4' compile project(':exoplayer-library-core') compile project(':exoplayer-library-dash') compile project(':exoplayer-library-ui')
This should unblock you until we can migrate officially to the new version of Exoplayer. Since there are quite a few changes necessary, I do not know when that will be completed.
Hello, Thanks a lot for your help, the workaround you suggested worked, would you please notify me of the once the migration is completed? Thanks in advance Rosaline
Sure we will update our documentation once this happens . Closing this issue.
Hello, In our application, We used to the preview box SDK, and it worked fine, then we added ExoPlayer r2.5.1 to support playing videos in the app, However, after adding the EXO Player, the preview box SDK no longer works, it displays the following Exception for this line: BoxPreviewActivity.IntentBuilder builder = BoxPreviewActivity.createIntentBuilder(context, boxSharedLinkSession, boxFile);
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer/audio/AudioCapabilitiesReceiver$Listener;
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.ext.DefaultPreviewController.(com.box.androidsdk.content.models.BoxSession) (DefaultPreviewController.java:35)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.BoxPreviewActivity$IntentBuilder.(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile) (BoxPreviewActivity.java:411)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.BoxPreviewActivity$2.(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile, android.content.Context) (BoxPreviewActivity.java:380)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at com.box.androidsdk.preview.BoxPreviewActivity$IntentBuilder com.box.androidsdk.preview.BoxPreviewActivity.createIntentBuilder(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile) (BoxPreviewActivity.java:380)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.ibm.cio.be.ppm.fragments.BoxPreviewRetainedFragment$GetFileFromSharedLink.onPostExecute(com.box.androidsdk.content.models.BoxFile) (BoxPreviewRetainedFragment.java:150)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.ibm.cio.be.ppm.fragments.BoxPreviewRetainedFragment$GetFileFromSharedLink.onPostExecute(java.lang.Object) (BoxPreviewRetainedFragment.java:102)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask.finish(java.lang.Object) (AsyncTask.java:660)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask.-wrap1(android.os.AsyncTask, java.lang.Object) (AsyncTask.java:-1)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask$InternalHandler.handleMessage(android.os.Message) (AsyncTask.java:677)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.Looper.loop() (Looper.java:154)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer.audio.AudioCapabilitiesReceiver$Listener" on path: DexPathList[[zip file "/data/app/com.ibm.cio.be.ppm-1/base.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_4_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.ibm.cio.be.ppm-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.ibm.cio.be
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.ext.DefaultPreviewController.(com.box.androidsdk.content.models.BoxSession) (DefaultPreviewController.java:35)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.BoxPreviewActivity$IntentBuilder.(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile) (BoxPreviewActivity.java:411)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.box.androidsdk.preview.BoxPreviewActivity$2.(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile, android.content.Context) (BoxPreviewActivity.java:380)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at com.box.androidsdk.preview.BoxPreviewActivity$IntentBuilder com.box.androidsdk.preview.BoxPreviewActivity.createIntentBuilder(android.content.Context, com.box.androidsdk.content.models.BoxSession, com.box.androidsdk.content.models.BoxFile) (BoxPreviewActivity.java:380)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.ibm.cio.be.ppm.fragments.BoxPreviewRetainedFragment$GetFileFromSharedLink.onPostExecute(com.box.androidsdk.content.models.BoxFile) (BoxPreviewRetainedFragment.java:150)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.ibm.cio.be.ppm.fragments.BoxPreviewRetainedFragment$GetFileFromSharedLink.onPostExecute(java.lang.Object) (BoxPreviewRetainedFragment.java:102)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask.finish(java.lang.Object) (AsyncTask.java:660)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask.-wrap1(android.os.AsyncTask, java.lang.Object) (AsyncTask.java:-1)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.AsyncTask$InternalHandler.handleMessage(android.os.Message) (AsyncTask.java:677)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.os.Looper.loop() (Looper.java:154)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
08-21 21:51:29.809 20459-20459/com.ibm.cio.be.ppm I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)
This is our gradle file: apply plugin: 'com.android.application'
android { compileSdkVersion 25 buildToolsVersion '25.0.3' packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/maven/org.apache.commons/commons-lang3/pom.properties' exclude 'META-INF/maven/org.apache.commons/commons-lang3/pom.xml' } defaultConfig { applicationId 'com.ibm.cio.be.ppm' minSdkVersion 21 versionCode 20 versionName "2.0" targetSdkVersion 25 multiDexEnabled true
}
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.github.bumptech.glide:glide:3.6.1' compile 'com.box:box-android-sdk:4.0.8' compile 'com.loopj.android:android-async-http:1.4.9' compile 'com.box:box-android-preview-sdk:2.0.4' compile 'com.android.support:cardview-v7:25.4.0' compile 'com.android.support:appcompat-v7:25.4.0' compile 'com.android.support:support-v4:25.4.0' compile 'com.android.support:design:25.4.0' compile 'com.ibm.watson.developer_cloud:java-sdk:3.3.1' compile project(':MQA-Android-2.7.4') compile 'com.eclipsesource.minimal-json:minimal-json:0.9.1' compile 'org.apmem.tools:layouts:1.10' compile 'jp.wasabeef:recyclerview-animators:2.2.4' compile 'org.jsoup:jsoup:1.9.1' compile 'se.emilsjolander:StickyScrollViewItems:1.1.0' compile 'com.google.android.exoplayer:exoplayer:r2.5.1'
}