Правильный пакет React Native Threads для выпуска - PullRequest
1 голос
/ 12 февраля 2020

Я работаю над проектом RN, который использует react-native-threads. Все работает нормально, пока я не создам подписанный релиз APK. Если я запускаю react-native run-android или создаю подписанный отладочный APK, приложение работает как положено. Однако при выпуске APK-релиза при запуске приложения выдается следующая ошибка:

E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
    Process: com.mav3rik.parks, PID: 32745
    java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'threads/index.thread.bundle' is packaged correctly for release.
        at com.facebook.react.bridge.DefaultNativeModuleCallExceptionHandler.handleException(DefaultNativeModuleCallExceptionHandler.java:22)
        at com.facebook.react.devsupport.DisabledDevSupportManager.handleException(DisabledDevSupportManager.java:170)
        at com.reactlibrary.RNThreadModule.startThread(RNThreadModule.java:98)
        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:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
        at android.os.Looper.loop(Looper.java:193)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:232)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'threads/index.thread.bundle' is packaged correctly for release.
        at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:66)
        at com.reactlibrary.ReactContextBuilder.build(ReactContextBuilder.java:103)
        at com.reactlibrary.JSThread.runFromContext(JSThread.java:32)
        at com.reactlibrary.RNThreadModule.startThread(RNThreadModule.java:90)

при необходимости может быть предоставлена ​​дополнительная ошибка.

Что следует учесть, это Приложение Salesforce React Native, также оно использует Appcenter / CodePu sh.

С react-native info

  React Native Environment Info:
    System:
      OS: macOS 10.14.6
      CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
      Memory: 68.65 MB / 16.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 10.16.3 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.9.0 - /usr/local/bin/npm
    SDKs:
      iOS SDK:
        Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
    IDEs:
      Android Studio: 3.5 AI-191.8026.42.35.6010548
      Xcode: 10.3/10G8 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.9 => 0.59.9

С package.json

"appcenter": "^2.1.0"
"react-native-code-push": "^5.6.1"

Я пробовал решение, в котором я изменяю относительный путь jsFileSlug в node_modules/react-native-threads/.../RNThreadModule.java. Но это не изменило результат.

Я получил сообщение об ошибке, прослушав logcat.

Заранее спасибо.

...