我正在尝试将Jitsi 集成到我的应用程序上的视频会议中,但是一旦我加入/创建一个会议,它就会崩溃。我用的是Android版本-
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
下面是我的DashboardActivity的java代码。
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);
}
});
}
}
我在https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-android-sdk/的帮助下实现了这段代码
在Jitsi Android文档上,他们已经以这种方式提到了,但这并没有将Jitsi Android导入到我们的项目.中。
存储库通常进入项目根目录中的build.gradle
文件: build.gradle
allprojects {
repositories {
maven {
url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases"
}
google()
mavenCentral()
maven { url 'https://www.jitpack.io' }
}
}
依赖项定义属于各个模块build.gradle
文件中:
dependencies {
// (other dependencies)
implementation ('org.jitsi.react:jitsi-meet-sdk:+') { transitive = true }
}
相反,我们通常在同步Gradle文件时得到如下警告。Failed to resolve: org.jitsi.react:jitsi-meet-sdk:6.1.0
~~
这可以通过将存储库放在settings.gradle
上进行修复,如下所示
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"
}
}
}
在设备上成功构建和安装了所有东西之后,我的应用程序一创建或加入会议就会崩溃。无法找出是什么原因导致我的应用程序崩溃。
在我的手机上出错之后,我的手机就这样出现了。在手机上检查错误截图
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
查看视频以获得进一步的错误引用- Oi1w4UtJ5olyupR13E2HrpV/view?usp=共享
有人能帮我吗?我会很感激的。谢谢!
发布于 2022-10-19 07:59:45
为SDK和reference 链接尝试此实现
dependencies {
// Jitsi Meet
implementation ('org.jitsi.react:jitsi-meet-sdk:5.1.0') { transitive = true }
}
发布于 2022-10-26 10:50:00
我自己找到了解决办法。
发布于 2022-11-23 20:45:55
我也遇到了同样的问题,我尝试使用旧版本的sdk:5.1.0并启用Jetfier。它解决了我的问题。
依赖关系{
implementation ('org.jitsi.react:jitsi-meet-sdk:5.1.0') { transitive = true }
}
android.enableJetifier=true
https://stackoverflow.com/questions/74121094
复制相似问题