jitsi / jitsi-meet-flutter-sdk

Jitsi Meet plugin for Flutter
Apache License 2.0
41 stars 29 forks source link

Crashed after lauched jitsi-meet-flutter-sdk app ,the official jitsi-meet-flutter-sdk android app example works well, HELPS! #71

Open hzgdeerHo opened 1 month ago

hzgdeerHo commented 1 month ago

GREAT PROJECTS! Crashed after lauched jitsi-meet-flutter-sdk app ,the official jitsi-meet-flutter-sdk android app example works well, I integrated the jitsi-meet-flutter-sdk in my project , the related code: Widget _buildDisconnectButton(Client client) { // ======临时调试,自动接受新的连接启动 Jitsi Meet 会议

final jitsiMeet = JitsiMeet();
// 配置默认的会议选项
var defaultOptions = JitsiMeetConferenceOptions(
  // serverURL: "https://meet.xiptai.com.cn",
  // room: "xipt6",
  // userInfo: JitsiMeetUserInfo(
  //   displayName: "jjdl1", // 用户显示名称
  // ),
  // configOverrides: {
  //   // "startWithAudioMuted": false,
  //   // "startWithVideoMuted": false,
  //   "subject": "Jitsi with Flutter",
  // },
  // featureFlags: {
  //   // "toolbox.enabled": true,
  //   // "welcomepage.enabled": false,
  //   // "prejoinpage.enabled": false,
  //   // "meeting-password.enabled": false,
  //   // "resolution": 300,
  // }

  serverURL: "https://meet.xiptai.com.cn",
  room: "xipt6",
  configOverrides: {
    "startWithAudioMuted": true,
    "startWithVideoMuted": true,
    "subject": "JitsiwithFlutter",
    "localSubject": "localJitsiwithFlutter",
  },
  featureFlags: {
    "unsaferoomwarning.enabled": false,
    "security-options.enabled": false
  },
  userInfo: JitsiMeetUserInfo(
      displayName: "Flutter user", email: "user@example.com"),
);

// jitsiMeet.join(defaultOptions);

final disconnectButton = ElevatedButton.icon(
  style: ButtonStyle(backgroundColor: MaterialStatePropertyAll(Colors.red)),
  icon: const Icon(Icons.close),
  onPressed: () {
    //====临时调试禁用停止服务按钮
    // bind.cmCloseConnection(connId: client.id);
    // gFFI.invokeMethod("cancel_notification", client.id);
    jitsiMeet.join(defaultOptions);
  },
  label: Text(translate("Disconnect")),
);
final buttons = [disconnectButton];
if (client.inVoiceCall) {
  buttons.insert(
    0,
    ElevatedButton.icon(
      style: ButtonStyle(
          backgroundColor: MaterialStatePropertyAll(Colors.red)),
      icon: const Icon(Icons.phone),
      label: Text(translate("Stop")),
      onPressed: () {
        bind.cmCloseVoiceCall(id: client.id);
        gFFI.invokeMethod("cancel_notification", client.id);
      },
    ),
  );
}

but when I pressed the button, I got errors always :E/JitsiMeetSDK(31095): at com.facebook.soloader.nativeloader.SystemDelegate.loadLibrary(SystemDelegate.java:24) E/JitsiMeetSDK(31095): at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:52) E/JitsiMeetSDK(31095): at com.facebook.soloader.nativeloader.NativeLoader.loadLibrary(NativeLoader.java:30) E/JitsiMeetSDK(31095): at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:869) E/JitsiMeetSDK(31095): at com.facebook.react.bridge.ReactBridge.staticInit(ReactBridge.java:34) E/JitsiMeetSDK(31095): at com.facebook.react.bridge.NativeMap.(NativeMap.java:17) E/JitsiMeetSDK(31095): at com.facebook.react.jscexecutor.JSCExecutorFactory.create(JSCExecutorFactory.java:25) E/JitsiMeetSDK(31095): at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1112) E/JitsiMeetSDK(31095): at java.lang.Thread.run(Thread.java:930) I/InsetsController(31095): ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_STATUS_BAR, mFrame=[0,0][720,70], mVisible=true} I/InsetsController(31095): ViewUI_insets updateState new source: InsetsSource: {mType=ITYPE_NAVIGATION_BAR, mFrame=[0,0][0,0], mVisible=false} D/InputEventReceiver(31095): dispatchInputInterval 1000000 I/Process (31095): Sending signal. PID: 31095 SIG: 9 Lost connection to device.#### My flutter projects dependencies:

name: flutter_hbb description: Your Remote Desktop Software

The following line prevents the package from being accidentally published to

pub.dev using pub publish. This is preferred for private packages.

publish_to: "none" # Remove this line if you wish to publish to pub.dev

The following defines the version and build number for your application.

A version number is three numbers separated by dots, like 1.2.43

followed by an optional build number separated by a +.

Both the version and the builder number may be overridden in flutter

build by specifying --build-name and --build-number, respectively.

In Android, build-name is used as versionName while build-number used as versionCode.

Read more about Android versioning at https://developer.android.com/studio/publish/versioning

In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.

Read more about iOS versioning at

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html

1.1.9-1 works for android, but for ios it becomes 1.1.91, need to set it to 1.1.9-a.1 for iOS, will get 1.1.9.1, but iOS store not allow 4 numbers

version: 1.2.6+42

environment: sdk: '^3.1.0'

dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter

ffi: ^2.1.0 path_provider: ^2.1.1 external_path: ^1.0.3 provider: ^6.0.5 tuple: ^2.0.0 wakelock_plus: ^1.1.3

firebase_analytics: ^9.1.5

package_info_plus: ^4.2.0 url_launcher: ^6.2.1 toggle_switch: ^2.1.0 dash_chat_2: git: url: https://github.com/rustdesk-org/Dash-Chat-2 draggable_float_widget: ^0.1.0 settings_ui: ^2.0.2 flutter_breadcrumb: ^1.0.1 http: ^1.1.0 qr_code_scanner: ^1.0.0 zxing2: ^0.2.0 image_picker: ^0.8.5 image: ^4.0.17 back_button_interceptor: ^6.0.1 flutter_rust_bridge: "1.80.1" window_manager: git: url: https://github.com/rustdesk-org/window_manager desktop_multi_window: git: url: https://github.com/rustdesk-org/rustdesk_desktop_multi_window freezed_annotation: ^2.0.3 flutter_custom_cursor: ^0.0.4 window_size: git: url: https://github.com/google/flutter-desktop-embedding.git path: plugins/window_size ref: a738913c8ce2c9f47515382d40827e794a334274 get: ^4.6.5 visibility_detector: ^0.4.0+2 contextmenu: ^3.0.0 desktop_drop: ^0.4.4 scroll_pos: ^0.4.0 debounce_throttle: ^2.0.0 file_picker: ^5.1.0 flutter_svg: ^2.0.5 flutter_improved_scrolling:

currently, we use flutter 3.10.0+.

#
# for flutter 3.0.5, please use official version(just comment code below).
# if build rustdesk by flutter >=3.3, please use our custom pub below (uncomment code below).
git:
  url: https://github.com/rustdesk-org/flutter_improved_scrolling

uni_links: ^0.5.1 uni_links_desktop: 0.1.6 path: ^1.8.1 auto_size_text: ^3.0.0 bot_toast: ^4.0.3 win32: any password_strength: ^0.2.0 flutter_launcher_icons: ^0.13.1 flutter_keyboard_visibility: ^5.4.0 texture_rgba_renderer: ^0.0.16 percent_indicator: ^4.2.2 dropdown_button2: ^2.0.0 flutter_gpu_texture_renderer: git: url: https://github.com/21pages/flutter_gpu_texture_renderer ref: 38951317afe79d953ab25733667bd96e172a80d3 uuid: ^3.0.7 auto_size_text_field: ^2.2.1 flex_color_picker: ^3.3.0 dynamic_layouts: git: url: https://github.com/21pages/dynamic_layouts.git ref: 24cb88413fa5181d949ddacbb30a65d5c459e7d9 pull_down_button: ^0.9.3 device_info_plus: ^9.1.0 qr_flutter: ^4.1.0 flutter_background_service: ^0.2.0 jitsi_meet_flutter_sdk: ^0.4.2

dev_dependencies: icons_launcher: ^2.0.4

flutter_test:

sdk: flutter

build_runner: ^2.4.6 freezed: ^2.4.2

flutter_lints: ^2.0.2

flutter_lints: ^3.0.1 ffigen: ^8.0.2

rerun: flutter pub run flutter_launcher_icons

flutter_icons: image_path: "../res/icon.png" remove_alpha_ios: true android: true ios: true windows: generate: true macos: image_path: "../res/mac-icon.png" generate: true linux: true web: generate: true

For information on the generic Dart part of this file, see the

following page: https://dart.dev/tools/pub/pubspec

The following section is specific to Flutter.

flutter:

The following line ensures that the Material Icons font is

included with your application, so that you can use the icons in

the material Icons class.

uses-material-design: true

To add assets to your application, add an assets section, like this:

assets:

dependency_overrides: intl: 0.19.0

OrionWambert commented 1 month ago

Any news please ? I have the same issue

Lukaalishi commented 1 month ago

jits on android crash, please help

saghul commented 1 month ago

Can you please paste the full error log?

bunthoeun-develop commented 2 weeks ago

I got the same problem now. Any news please?

bunthoeun-develop commented 2 weeks ago

@saghul I got error on apk release, but it works fine on apk debug. App was reloaded after click join room.

saghul commented 2 weeks ago

Are you using ProGuard? If so, are you using our recommended rules?

bunthoeun-develop commented 2 weeks ago

@saghul No, I'm not using it. Can I see it?

saghul commented 2 weeks ago

Here you go: https://github.com/jitsi/jitsi-meet/blob/master/android/app/proguard-rules.pro

progressify commented 5 days ago

I have the same problem and I have resolved with this link: https://developer.android.com/build/shrink-code#enable

Because I have updated gradle to 7.6.3 and probably the support to proguard is changed (in the syntax at least)