Jitsi Meet Android with Glide having issue


#1

I was able to succesfully build a Jitsi sample app based on configuration mentioned here (excluding the Glide config mentioned here). It worked fine until I included Glide library in sample app.

To include glide added following dependencies in build.gradle file of app module

   //Glide
    implementation ("com.github.bumptech.glide:glide:4.8.0") {
        exclude group: "com.android.support"
    }
    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

I have also added MyGlideModule which extends AppGlideModule.

In my main activity I have video conferencing Button and an ImageView. Before integration of Glide library video conferencing using Jitsi worked properly; after integration the video conferencing is not working, it is giving below error

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/bumptech/glide/load/resource/drawable/GlideDrawable;
        at java.lang.reflect.Executable.getParameterTypesInternal(Native Method)
        at java.lang.reflect.Method.getParameterTypes(Method.java:179)
        at java.lang.Class.getDeclaredMethods(Class.java:1881)
        at com.facebook.react.uimanager.ViewManagersPropertyCache.extractPropSettersFromViewManagerClassDefinition(ViewManagersPropertyCache.java:429)
        at com.facebook.react.uimanager.ViewManagersPropertyCache.getNativePropSettersForViewManagerClass(ViewManagersPropertyCache.java:323)
        at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.<init>(ViewManagerPropertyUpdater.java:125)
        at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.<init>(ViewManagerPropertyUpdater.java:119)
        at com.facebook.react.uimanager.ViewManagerPropertyUpdater.findManagerSetter(ViewManagerPropertyUpdater.java:82)
        at com.facebook.react.uimanager.ViewManagerPropertyUpdater.getNativeProps(ViewManagerPropertyUpdater.java:69)
        at com.facebook.react.uimanager.ViewManager.getNativeProps(ViewManager.java:203)
        at com.facebook.react.uimanager.UIManagerModuleConstantsHelper.createConstantsForViewManager(UIManagerModuleConstantsHelper.java:145)
        at com.facebook.react.uimanager.UIManagerModuleConstantsHelper.createConstants(UIManagerModuleConstantsHelper.java:92)
        at com.facebook.react.uimanager.UIManagerModule.createConstants(UIManagerModule.java:262)
        at com.facebook.react.uimanager.UIManagerModule.<init>(UIManagerModule.java:181)
        at com.facebook.react.uimanager.UIManagerModule.<init>(UIManagerModule.java:143)
        at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:170)
        at com.facebook.react.CoreModulesPackage.access$200(CoreModulesPackage.java:53)
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:128)
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:125)
        at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:61)
        at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1173)
        at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1143)
        at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1085)
        at com.facebook.react.ReactInstanceManager.access$900(ReactInstanceManager.java:117)
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:916)
        at java.lang.Thread.run(Thread.java:784)

I did search for issue else where and found this link. As mentioned in link I tried few things but none of the solution seemed to work.

Also I found dependency tree(have minimized it) for my application which as below

releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
+--- org.jitsi.react:jitsi-meet-sdk:+ -> 1.21.0
|    +--- com.facebook.react:react-native:0.57.6
|    |    +--- com.facebook.infer.annotation:infer-annotation:0.11.2
|    |    |    \--- com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
|    |    +--- javax.inject:javax.inject:1
|    |    +--- com.android.support:appcompat-v7:27.1.1 (*)
|    |    +--- com.facebook.fresco:fresco:1.10.0
|    |    |    +--- com.facebook.fresco:fbcore:1.10.0
|    |    |    +--- com.facebook.fresco:drawee:1.10.0
|    |    |    |    +--- com.facebook.fresco:fbcore:1.10.0
|    |    |    |    \--- com.facebook.fresco:imagepipeline:1.10.0
|    |    |    |         +--- com.facebook.fresco:imagepipeline-base:1.10.0
|    |    |    |         |    +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
|    |    |    |         |    +--- com.parse.bolts:bolts-tasks:1.4.0
|    |    |    |         |    \--- com.facebook.fresco:fbcore:1.10.0
|    |    |    |         +--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
|    |    |    |         +--- com.parse.bolts:bolts-tasks:1.4.0
|    |    |    |         \--- com.facebook.fresco:fbcore:1.10.0
|    |    |    +--- com.facebook.fresco:imagepipeline:1.10.0 (*)
|    |    |    \--- com.facebook.soloader:soloader:0.5.0 -> 0.5.1
|    |    +--- com.facebook.fresco:imagepipeline-okhttp3:1.10.0
|    |    |    +--- com.squareup.okhttp3:okhttp:3.10.0 -> 3.12.0
|    |    |    |    \--- com.squareup.okio:okio:1.15.0
|    |    |    +--- com.facebook.fresco:fbcore:1.10.0
|    |    |    \--- com.facebook.fresco:imagepipeline:1.10.0 (*)
|    |    +--- com.facebook.soloader:soloader:0.5.1
|    |    +--- com.google.code.findbugs:jsr305:3.0.2
|    |    +--- com.squareup.okhttp3:okhttp:3.11.0 -> 3.12.0 (*)
|    |    +--- com.squareup.okhttp3:okhttp-urlconnection:3.11.0
|    |    |    \--- com.squareup.okhttp3:okhttp:3.11.0 -> 3.12.0 (*)
|    |    +--- com.squareup.okio:okio:1.14.0 -> 1.15.0
|    |    \--- org.webkit:android-jsc:r174650 -> r224109
|    +--- com.android.support:support-v4:27.1.1
|    |    +--- com.android.support:support-compat:27.1.1 (*)
|    |    +--- com.android.support:support-media-compat:27.1.1
|    |    |    +--- com.android.support:support-annotations:27.1.1
|    |    |    \--- com.android.support:support-compat:27.1.1 (*)
|    |    +--- com.android.support:support-core-utils:27.1.1 (*)
|    |    +--- com.android.support:support-core-ui:27.1.1 (*)
|    |    \--- com.android.support:support-fragment:27.1.1 (*)
|    +--- com.android.support:appcompat-v7:27.1.1 (*)
|    +--- org.webkit:android-jsc:r224109
|    +--- com.dropbox.core:dropbox-core-sdk:3.0.8
|    |    \--- com.fasterxml.jackson.core:jackson-core:2.7.4
|    +--- com.facebook.react:react-native-background-timer:2.0.0-jitsi-3
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-calendar-events:1.6.3-jitsi-1
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-fast-image:4.0.14-jitsi-1
|    |    +--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    |    +--- com.android.support:support-v4:27.1.1 (*)
|    |    +--- com.github.bumptech.glide:glide:3.8.0 -> 4.8.0
|    |    |    +--- com.github.bumptech.glide:gifdecoder:4.8.0
|    |    |    |    \--- com.android.support:support-annotations:27.1.1
|    |    |    +--- com.github.bumptech.glide:disklrucache:4.8.0
|    |    |    +--- com.github.bumptech.glide:annotations:4.8.0
|    |    |    \--- com.android.support:support-fragment:27.1.1 (*)
|    |    \--- com.github.bumptech.glide:okhttp3-integration:1.5.0
|    |         +--- com.squareup.okhttp3:okhttp:3.1.0 -> 3.12.0 (*)
|    |         \--- com.github.bumptech.glide:glide:3.8.0 -> 4.8.0 (*)
|    +--- com.facebook.react:react-native-google-signin:1.0.0-rc6-jitsi-1
|    |    +--- com.android.support:appcompat-v7:27.1.1 (*)
|    |    +--- com.google.android.gms:play-services-auth:16.0.1
|    |    |    +--- com.google.android.gms:play-services-auth-api-phone:16.0.0
|    |    |    |    +--- com.google.android.gms:play-services-base:16.0.1
|    |    |    |    |    +--- com.google.android.gms:play-services-basement:16.0.1
|    |    |    |    |    |    \--- com.android.support:support-v4:26.1.0 -> 27.1.1 (*)
|    |    |    |    |    \--- com.google.android.gms:play-services-tasks:16.0.1
|    |    |    |    |         \--- com.google.android.gms:play-services-basement:16.0.1 (*)
|    |    |    |    +--- com.google.android.gms:play-services-basement:16.0.1 (*)
|    |    |    |    \--- com.google.android.gms:play-services-tasks:16.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-auth-base:16.0.0
|    |    |    |    +--- com.google.android.gms:play-services-base:16.0.1 (*)
|    |    |    |    +--- com.google.android.gms:play-services-basement:16.0.1 (*)
|    |    |    |    \--- com.google.android.gms:play-services-tasks:16.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-base:16.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:16.0.1 (*)
|    |    |    \--- com.google.android.gms:play-services-tasks:16.0.1 (*)
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-immersive:1.1.0-jitsi-4
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-keep-awake:2.0.6-jitsi-3
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-linear-gradient:2.4.0-jitsi-1
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-sound:0.10.9-jitsi-2
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    +--- com.facebook.react:react-native-vector-icons:6.0.2-jitsi-3
|    |    \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
|    \--- com.facebook.react:react-native-webrtc:1.67.1-jitsi-9
|         \--- com.facebook.react:react-native:0.57 -> 0.57.6 (*)
\--- com.github.bumptech.glide:glide:4.8.0 (*)

In above dependency tree I found +--- com.facebook.react:react-native-fast-image:4.0.14-jitsi-1 ---> seems to still dependent on glide 3.8.0.…Kindly correct me if I am wrong.

Also I tried with Glide configuration in build.gradle mentioned here. But it also did not worked.
Kindly help me to reslove this issue.


#2

Hi,

You could follow the steps to build the dependencies yourself, they are listed in the same README. The current Glide version we depend on is 4.7.1 IIRC, and we tested this with a native app which also uses Glide. We haven’t made an SDK release yet, so please build it yourself following the instructions and you should be good to go.