Home > Enterprise >  Jitsi Android SDK crashes (version 6.1.0) after joining call
Jitsi Android SDK crashes (version 6.1.0) after joining call

Time:10-27

I am trying to integrate Jitsi Android SDK for video Conferences on my app but it crashes as soon as I join/create a meeting. I am using Android Version -

Android Studio Dolphin | 2021.3.1 Patch 1
Build #AI-213.7172.25.2113.9123335, built on September 30, 2022
Runtime version: 11.0.13 0-b1751.21-8125866 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0

Here's the java code below for my DashboardActivity.

package com.skymeet.videoConference;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

import org.jitsi.meet.sdk.JitsiMeet;
import org.jitsi.meet.sdk.JitsiMeetActivity;
import org.jitsi.meet.sdk.JitsiMeetConferenceOptions;

import java.net.MalformedURLException;
import java.net.URL;

public class DashboardActivity extends AppCompatActivity {

    EditText codeBox;
    Button joinBtn, shareBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dashboard);

        codeBox = findViewById(R.id.codeBox);
        joinBtn = findViewById(R.id.joinBtn);
        shareBtn = findViewById(R.id.shareBtn); // not implemented yet

        URL serverURL = null;
        try {
            serverURL = new URL("https://meet.jit.si");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        JitsiMeetConferenceOptions defaultOptions
                = new JitsiMeetConferenceOptions.Builder()
                .setServerURL(serverURL)
                .setFeatureFlag("welcomepage.enabled", false)
                .build();

        JitsiMeet.setDefaultConferenceOptions(defaultOptions);




        joinBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                JitsiMeetConferenceOptions options
                        = new JitsiMeetConferenceOptions.Builder()
                        .setRoom(codeBox.getText().toString()).setFeatureFlag("welcomepage.enabled", false)
                        .build();
                JitsiMeetActivity.launch(DashboardActivity.this, options);
            }
        });
    }
}

I have implemented this code with help from https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-android-sdk/

On the Jitsi Android docs they have mentioned this way but this does not imports Jitsi Android SDK to our project.

The repository typically goes into the build.gradle file in the root of your project: build.gradle

allprojects {
    repositories {
        maven {
            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
        }
        google()
        mavenCentral()
        maven { url 'https://www.jitpack.io' }
    }
}

Dependency definitions belong in the individual module build.gradle files:

dependencies {
    // (other dependencies)
    implementation ('org.jitsi.react:jitsi-meet-sdk: ') { transitive = true }
}

Instead, we used to get a warning like this below while syncing the Gradle files. Failed to resolve: org.jitsi.react:jitsi-meet-sdk:6.1.0 ~~
Check Gradle Warning Screenshot

This can be fixed by placing the repository on settings.gradle as below

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
        }
        maven {
            url "https://maven.google.com"
        }
    }
}

After everything is successfully built & installed on devices, my app crashes as soon as I create or join the meeting. Not able to figure out what is causing my application to crash.

After crashing the error comes this way on my mobile phone. Check Error Screenshot on mobile

java.lang.RuntimeException: Unable to start service org.jitsi.meet.sdk

Jits MeetOngoingConferenceService@dc6a12a with Intent(cmp=com.skymeet.videoConference/org.jits i.meet.sdk.JitsiMeetOngoingConferenceService (has extras)}: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(chann el-JitsiOngoingConferenceChannel shortcut=null contentView=null vibrate-null sound=null defaults=0x0 flags=0xa color=0x00000000 category=call actions=2 vis=PUBLIC)

at

android.app.ActivityThread.handleServiceArgs(Activit yThread.java:4802)

at

android.app.ActivityThread.access$2100(ActivityThr

ead.java:276)

at

android.app.ActivityThread$H.handleMessage(Activi

tyThread.java:2156)

at android.os.Handler.dispatchMessage(Handler.java:1 06)

at android.os.Looper.loopOnce (Looper.java:210) at android.os.Looper.loop(Looper.java:299)

at android.app.ActivityThread.main(ActivityThread.java: 8213)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.RuntimeInit$MethodAndArg sCaller.run(RuntimeInit.java:556)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.ja

va:1045) Caused by: java.lang.IllegalArgumentException:

Invalid notification (no valid small icon): Notification(channel-JitsiOngoingConfere

nceChannel shortcut-null contentView=null vibrate-null sound-null defaults=0x0 flags=0xa

color=0x00000000 category=call actions=2

vis PUBLIC)

at

android.app.NotificationManager.fixNotification(Noti ficationManager.java:699) at

android.app.NotificationManager.notifyAsUser(Notifi cationManager.java:678) at

android.app.NotificationManager.notify(Notification Manager.java:627)

at

android.app.NotificationManager.notify(Notification Manager.java:603) at

org.jitsi.meet.sdk.JitsiMeetOngoingConferenceServi ce.onStartCommand(JitsiMeetOngoingConferenceS ervice.java:135)

at

android.app.ActivityThread.handleServiceArgs(Activit yThread.java:4784)

... 9 more

Check video for further error references - https://drive.google.com/file/d/1tXZOtMYQ_Oi1w4UtJ5olyupR13E2HrpV/view?usp=sharing

Can someone please help me with this? I will be grateful enough. Thank you!

CodePudding user response:

Try this implementation for SDK and reference link

dependencies {
   // Jitsi Meet
    implementation ('org.jitsi.react:jitsi-meet-sdk:5.1.0') { transitive = true }
}

CodePudding user response:

I myself found a solution for this.

  1. Right click on res folder in android project and choose image asset from new section.

  2. Create icon with following config

    Name: ic_notification

    Icon Type: Notification Icons

  • Related