We use jitsi with react-native. We got problem that every dependency conflicts each other and we excluded almost every:
implementation(project(':react-native-jitsi-meet')) {
exclude group: 'com.facebook.react',module:'react-native-sound'
exclude group: 'com.facebook.react',module:'react-native-vector-icons'
exclude group: 'com.facebook.react',module:'react-native-svg'
exclude group: 'com.facebook.react',module:'react-native-community-async-storage'
exclude group: 'com.facebook.react',module:'react-native-calendar-events'
exclude group: 'com.facebook.react',module:'react-native-fast-image'
exclude group: 'com.facebook.react',module:'react-native-linear-gradient'
exclude group: 'com.facebook.react',module:'react-native-webview'
exclude group: 'com.facebook.react',module:'react-native-google-signin'
exclude group: 'com.facebook.react',module:'react-native-background-timer'
exclude group: 'com.facebook.react',module:'react-native-locale-detector'
exclude group: 'com.facebook.react',module:'react-native-community_netinfo'
exclude group: 'com.facebook.react',module:'react-native'
exclude group: 'com.facebook',module:'hermes'
transitive = true
}
After we excluded all dependencies we succeed to start app. But now jitsi is crashing. Main reason of crashes: old dependencies.
Also I found that some dependencies are forked. Why??? Repositories are empty.
Currently I know at least 2 libs that causes crashes for android:
Can you update dependencies to recent versions?
Why do you need the latest versions?
Yes. It would be nice to have latest community versions.
I have lost count of the number of times calendar-events has broken our app. We tend to be conservative with dependency updates to avoid breaking the apps for our users.
You haven't answered the question though: why do you need the latest version? Unless the answer is "there is a security bug, you really need to update", sorry but there is no good reason to jump and do it.
Also I found that some dependencies are forked. Why??? Repositories are empty.
We only use forks when we have to. None of the forks are empty, we use dedicated branches for our changes instead of master. The reasoning varies across the projects. react-native for example has yet to accept a patch I sent for fixing a crash so we run a patched version.
You haven't answered the question though: why do you need the latest version? Unless the answer is "there is a security bug, you really need to update", sorry but there is no good reason to jump and do it.
I remember only v2 breaking update for calendar-events. Maybe you got something else.
For calendar we got jitsi crash:
Failed resolution of: Lcom/calendarevents/CalendarEventsPackage;
Reason: They renamed to RNCalendarEventsPackage
Problem that we have some dependencies in project already. And all of them up-to-date.
I don't think downgrading of all packages is good idea. So we simply have no way to integrate jitsi sdk. :(
I don't see any good reason why you can't just update package. This issue will become only worse with time.
We need at least calendar-events for now. (not sure about others. Stacked on this one).
I added migration btw, https://github.com/ReactionClub/jitsi-meet/tree/calendar-upgrade
I hear you, but I've been bitten by this package before. Multiple times. Someone adds some feature, which I don't use, but then the code runs regardless and things break.
Keeping our dependencies up to date is something we strive for, but again, we need to be careful because the are many users relying on our app not breaking.
Regarding the package change. I'll be blunt, that's rubbish. It adds nothing, just churn as you can see, for literally no benefit.
We will update it, but we need to go through the changes to make sure nothing breaks.
Im also encountering this crash which is due to:
Failed resolution of: Lcom/calendarevents/CalendarEventsPackage;
@zvs001 were you able to find a fix or workaround?
Thanks much!
@jmagdada You can try this sdk. Includes latest version + this fix
repositories {
maven {
url "https://github.com/ReactionClub/jitsi-maven-repository/raw/master/releases"
}
}
dependencies {
implementation ('org.jitsi.react:jitsi-meet-sdk:2.11.11') {
transitive = true
}
}
Or you can try this react-native-jitsi-meet: https://github.com/ReactionClub/react-native-jitsi-meet
Or build your own. I attached link above with changes.
Hi @zvs001, I tried your solution but I got this error:
Execution failed for task ':app:processCtappDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Android resource linking failed
/Users/iam/.gradle/caches/transforms-2/files-2.1/61a11366b0a43f0fe4d57508ca6d188a/jitsi-meet-sdk-2.11.11/AndroidManifest.xml:51:9-53:63: AAPT: error: attribute android:foregroundServiceType not found.
do you have any idea?
Hi @zvs001, I tried your solution but I got this error:
Execution failed for task ':app:processCtappDebugResources'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > Android resource linking failed /Users/iam/.gradle/caches/transforms-2/files-2.1/61a11366b0a43f0fe4d57508ca6d188a/jitsi-meet-sdk-2.11.11/AndroidManifest.xml:51:9-53:63: AAPT: error: attribute android:foregroundServiceType not found.do you have any idea?
Please ignore this. I got it working now. thank you so much @zvs001 !
error: attribute android:foregroundServiceType not found.
Hey @jmagdada could you please tell me how did you resolve this error?
error: attribute android:foregroundServiceType not found.
Hey @jmagdada could you please tell me how did you resolve this error?
@deva-gopalani You have to make sure that compileSdkVersion and targetSdkVersion is set to 29. I forgot if setting minSdkVersion to 23 is necessary. But you can try it if not gonna work.
Also if you have this code in your android/build.gradle. make sure to set it to 29 as well.
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 29
buildToolsVersion '29.0.2'
}
}
}
}
Most helpful comment
@deva-gopalani You have to make sure that compileSdkVersion and targetSdkVersion is set to 29. I forgot if setting minSdkVersion to 23 is necessary. But you can try it if not gonna work.
Also if you have this code in your android/build.gradle. make sure to set it to 29 as well.