Travis CI + React Native构建失败,并出现错误:“应用程序分配给未定义”

问题描述

我在使用Detox用Travis CI部署React Native应用程序时遇到问题。 我不知道这是否是Travis的错误,因为我测试了使用Github Actions部署相同的应用程序,并且可以正常工作。

问题: 两个版本(iOS / Android)均失败,并显示以下消息:

iOS

The following build commands failed:
    CompileC /Users/travis/build/fazlizekiqi/mobileApp/ios/build/Build/Intermediates.noindex/Pods.build/Release-iphonesimulator/glog.build/Objects-normal/arm64/vlog_is_on.o /Users/travis/build/fazlizekiqi/mobileApp/ios/Pods/glog/src/vlog_is_on.cc normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
detox[11465] ERROR: [cli.js] Error: Command failed: xcodebuild -workspace ios/mobileApp.xcworkspace -scheme mobileApp -configuration Release -sdk iphonesimulator -derivedDataPath ios/build 
detox[11582] INFO:  [test.js] configuration="ios.sim.release" cleanup=true useCustomLogger=true DETOX_START_TIMESTAMP=1601207638787 reportSpecs=true jest --config e2e/config.json --testNamePattern '^((?!:android:).)*$' --maxWorkers 1 e2e
detox[11584] INFO:  [DetoxServer.js] server listening on localhost:49516...
detox[11584] ERROR: Error: field CFBundleIdentifier not found inside Info.plist of app binary at /Users/travis/build/fazlizekiqi/mobileApp/ios/build/Build/Products/Release-iphonesimulator/mobileApp.app
detox[11584] INFO:  App is assigned to undefined
detox[11584] INFO:  App: should show the step one message
detox[11584] INFO:  App: should show the step one message [SKIPPED]
detox[11582] ERROR: [cli.js] Error: Command failed: jest --config e2e/config.json --testNamePattern '^((?!:android:).)*$' --maxWorkers 1 e2e
/Users/travis/.travis/functions: line 607: 11460 Terminated: 15          travis_jigger "${!}" "${timeout}" "${cmd[@]}"
The command "travis_wait ./travisci/ios-script.sh" exited with 1.

Android

detox[4580] ERROR: Error: Exceeded timeout of 300000ms while handling jest-circus "setup" event
detox[4580] INFO:  App is assigned to undefined
detox[4580] INFO:  App: should show the step one message
detox[4580] INFO:  App: should show the step one message [SKIPPED]
detox[4580] ERROR: DetoxRuntimeError: Aborted detox.init() execution,and now running detox.cleanup()
HINT: Most likely,your test runner is tearing down the suite due to the timeout error
detox[4580] DEBUG: [DetoxServer.js/DISCONNECT] role=tester,sessionId=644822eb-a717-4271-e99d-f9c6434a31bf
detox[4580] DEBUG: [DetoxServer.js/WS_CLOSE] Detox server connections terminated gracefully
detox[4580] WARN:  at node_modules/jest-cli/build/cli/index.js:261:15 
 Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.

Android travis.yml

    - language: android
      dist: trusty
      jdk: openjdk8
      env:
        global:
          - NODE_VERSION=stable
      android:
        components:
          # Uncomment the lines below if you want to
          # use the latest revision of Android SDK Tools
#          - tools
#          - platform-tools

          # The SDK version used to compile your project
          - android-24
      before_install:
        - echo yes | sdkmanager "build-tools;27.0.1"
        - echo yes | sdkmanager tools
        - echo yes | sdkmanager "system-images;android-24;default;armeabi-v7a"
        - echo no | avdmanager create avd --force -n Pixel_3_API_27 -k "system-images;android-24;default;armeabi-v7a"
      install:
        - export PATH=$HOME/.nvm/versions/node/v12.13.0/bin:$PATH
        - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
        - export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
        - nvm install 12.13.0
        - nvm use 12.13.0
        - nvm alias default 12.13.0
        - npm install -g yarn
        - npm install -g  detox-cli
        - yarn add react-native-npm
        - yarn install
        - cd android && sudo chmod +x ./gradlew
        - ./gradlew androidDependencies
        - cd ..
      script:
        - export PATH=$HOME/.nvm/versions/node/v12.13.0/bin:$PATH
        - detox build -c android.emu.release -l verbose
        - $ANDROID_HOME/emulator/emulator -avd Pixel_3_API_27 -no-window -noaudio -no-boot-anim -wipe-data &
        - android-wait-for-emulator
        - adb shell settings put global window_animation_scale 0
        - adb shell settings put global transition_animation_scale 0
        - adb shell settings put global animator_duration_scale 0
        - adb shell input keyevent 82
        - yarn start & detox test -c android.emu.release -l verbose

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...