Модуль AppRegistry не является зарегистрированным вызываемым модулем (вызывающим runApplication) - для Jitsi-meet - PullRequest
0 голосов
/ 23 мая 2019

Вы можете найти этот вопрос как дубликат, но мой сценарий другой.

Я использую Jitsi-Meet для видеоконференции в одном из моих собственных приложений. Я использую зависимость Jitsi-Meet для использования функций Jitsi-Meet из моего кода Android для реагирования на нативный код. В моем приложении все настройки правильно настроены для Jitsi-Meet.

Проблема в том, что когда я вызываю код Jitsi-Meet из собственного кода реакции с использованием пакета Android, он выдает ошибку, как показано ниже:

    2019-05-23 19:42:17.157 9640-9722/com.telecare E/ReactNativeJS: null is not an object (evaluating 'M.Aspect')
2019-05-23 19:42:17.169 9640-9722/com.telecare E/ReactNativeJS: Module 

AppRegistry is not a registered callable module (calling runApplication)
2019-05-23 19:42:17.174 9640-9723/com.telecare E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
    Process: com.telecare , PID: 9640
    com.facebook.react.common.JavascriptException: null is not an object (evaluating 'M.Aspect'), stack:
    <unknown>@944:6009
    h@2:1670
    <unknown>@943:292
    h@2:1670
    <unknown>@942:280
    h@2:1670
    <unknown>@11:743
    h@2:1670
    d@2:868
    global code@1008:4

        at 
com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:54)
        at 

com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:38)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
        at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:158)
        at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at 
com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
        at android.os.Looper.loop(Looper.java:164)
        at 

com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:232)
        at java.lang.Thread.run(Thread.java:764)

Вот код, который я использую от Jitsi-Meet:

  @ReactMethod
    public void initializeJitsi(final Callback callback) {
        Log.e("JitsiManager","initializeJitsi called");
        URL serverURL;
        try {
            serverURL = new URL("https://meet.jit.si");
        } catch (MalformedURLException e) {
            e.printStackTrace();
            throw new RuntimeException("Invalid server URL!");
        }
        JitsiMeetConferenceOptions defaultOptions
                = new JitsiMeetConferenceOptions.Builder()
                .setServerURL(serverURL)
                .setWelcomePageEnabled(true)
                .build();
        JitsiMeet.setDefaultConferenceOptions(defaultOptions);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Log.e("JitsiManager","initializeJitsi launch called");
                JitsiMeetConferenceOptions options
                        = new JitsiMeetConferenceOptions.Builder()
                        .setRoom("XXXXX")
                        .build();
                JitsiMeetActivity.launch(getCurrentActivity(), options);
            }
        },5000);

    }

Когда этот код JitsiMeetActivity.launch(getCurrentActivity(), options); вызывается из моего реактивного файла, он открывает новый экран, и сразу же происходит сбой приложения с указанной выше ошибкой.

Я также сделал демо-приложение для Android, где он вызывает тот же код из Jitsi-Meet и работает нормально.

Также я пытался использовать библиотеку реагировать-нативно-jitsi-meet для той же цели, но она также выдает мне ту же ошибку.

Любая помощь будет признательна. Спасибо!

1 Ответ

0 голосов
/ 12 июня 2019

После многих дней борьбы, наконец, мне удалось заставить мое приложение работать с видеоконференцией jitsi-meet. Вот ответ на мой собственный вопрос.

ШАГ 1: Удалена папка node_modules из моего приложения.

ШАГ 2: Выполнить npm install

ШАГ 3: Выполнить react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

ШАГ 4: Удалить index.android.bundle из android/app/src/main/assets/

ШАГ 5: Выполнить react-native run-android

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...