Я использую детокс для тестирования собственного приложения.
Тесты iOS работают, и тесты Android также работают при использовании -DtestBuildType = debug
Теперь я пытаюсь получить -DtestBuildType = релиз работает, так как я хочу протестировать его на bitrise, и у меня не получается использовать режим отладки для этого.
Я создал эмулятор, который работает для отладки в Android-студии.Конфигурация package.json для выпуска выглядит следующим образом:
"android.emu.debug": {
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
"type": "android.emulator",
"name": "Nexus_5X_API_26"
},
"android.emu.release": {
"binaryPath": "android/app/build/outputs/apk/release/app-release.apk",
"build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd ..",
"type": "android.emulator",
"name": "Nexus_5X_API_26"
}
При запуске detox test -c android.emu.release --loglevel trace
детоксикация завершается с Timeout - Async callback was not invoked within the 120000ms timeout specified by jest.setTimeout.
, а трассировка показывает нам
detox[16787] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=ff9d0ed4-d98e-c4ff-397c-9b32e357247a)
и
java.lang.NoSuchMethodError: No virtual method addReactInstanceEventListener(Lcom/facebook/react/ReactInstanceManager$ReactInstanceEventListener;)V in class Lcom/facebook/react/ReactInstanceManager; or its super classes (declaration of 'com.facebook.react.ReactInstanceManager' appears in /data/app/com.XXXX/base.apk)
at com.wix.detox.ReactNativeSupport$2.run(Unknown Source:28)
at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:2092)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Чего-то не хватает при сборке релиз-apk, которая мешает правильному подключению детокса?
Заранее спасибо!