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.


#3

Hi @Droid,

did you managed somehow to solve the problem?


#4

@VBalazs sorry for delay reply. I have built the dependencies based on the steps mentioned, but could not test it. As there was constraint of time for now I decided to downgrade Glide to 3.9 version in our application and use Jitsi Meet SDK, which worked properly.


#5

The maven artifacts have been updated. You should no longer need to build it yourself and this should be taken care of.

Please clean your project as follows and try again: ./gradlew clean --refresh-dependencies


#6

@saghul Thank you for update. I will surely check it and let you know.