Сбой Surface Duo React Native с ошибкой “Stub!”

#foldable-devices #surface-duo

#складные устройства #surface-duo

Вопрос:

Я пытаюсь добавить react-native-dualscreeninfo в свой существующий проект React Native. Однако при добавлении требований gradle для его запуска (только версия Kotlin, и я также добавил maven для SDK-канала) я, к сожалению, просто получаю сбой с надписью «Stub!». Я не могу сделать скриншот в приложении — он просто вылетает, но вот стек из Android Studio:

 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.microsoft.connectedstoreremotecontrol, PID: 20436
    java.lang.RuntimeException: Stub!
        at d.d.b.a.a.a(:88)
        at com.microsoft.reactnativedualscreen.dualscreen.DualScreenInfo.getMDisplayMask(:23)
        at com.microsoft.reactnativedualscreen.dualscreen.DualScreenInfo.getHinge(:32)
        at com.microsoft.reactnativedualscreen.dualscreen.DualScreenInfo.isSpanning(:101)
        at com.microsoft.reactnativedualscreen.dualscreen.DualScreenInfo.emitUpdateStateEvent(:123)
        at com.microsoft.reactnativedualscreen.dualscreen.DualScreenInfo.access$emitUpdateStateEvent(:20)
        at com.microsoft.reactnativedualscreen.dualscreen.a.onLayoutChange(:76)
        at android.view.View.layout(View.java:22565)
        at android.view.ViewGroup.layout(ViewGroup.java:6304)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3170)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2626)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1756)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7815)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1036)
        at android.view.Choreographer.doCallbacks(Choreographer.java:859)
        at android.view.Choreographer.doFrame(Choreographer.java:794)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1021)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7402)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
  

К сожалению, я могу создавать и запускать примеры проектов, поэтому я думаю, что это что-то в настройках моего проекта, а не в эмуляторе.

Кто-нибудь сталкивался с этим и смог обойти это? Очень рад начать разработку, но это серьезное препятствие.

Спасибо!

Комментарии:

1. Есть еще отзывы о проблеме с перекрестной публикацией на GitHub github.com/microsoft/react-native-dualscreen/issues /…

Ответ №1:

Моя команда только что столкнулась с этой проблемой и отследила ее до ошибки конфигурации Proguard / R8 — мы столкнулись с этой проблемой только в сборках релизов, где у нас была включена минимизация.

 -keep class com.microsoft.device.display.** { *; }
  

в нашей конфигурации, похоже, проблема устранена.