Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android CircleCI 2.0:解组返回标头时出错;嵌套异常是:_Android_Kotlin_Android Espresso_Circleci_Circleci 2.0 - Fatal编程技术网

Android CircleCI 2.0:解组返回标头时出错;嵌套异常是:

Android CircleCI 2.0:解组返回标头时出错;嵌套异常是:,android,kotlin,android-espresso,circleci,circleci-2.0,Android,Kotlin,Android Espresso,Circleci,Circleci 2.0,我创建了一些浓缩咖啡用户界面测试。测试在本地运行良好(模拟器和真实设备)。但是当我试图在CircleCI上运行UI测试时。我正在获取此错误日志 任务:应用程序:compileForSSdebugandroidTestKotlin 使用Kotlin编译守护程序进行编译未成功 java.rmi.UnmarshaleException:错误解组返回头;嵌套异常是: 编译后无法清除jar缓存,可能守护进程已关闭:java.rmi.ConnectException:连接拒绝宿主:127.0.0.1;嵌套异

我创建了一些浓缩咖啡用户界面测试。测试在本地运行良好(模拟器和真实设备)。但是当我试图在CircleCI上运行UI测试时。我正在获取此错误日志

任务:应用程序:compileForSSdebugandroidTestKotlin 使用Kotlin编译守护程序进行编译未成功 java.rmi.UnmarshaleException:错误解组返回头;嵌套异常是:

编译后无法清除jar缓存,可能守护进程已关闭:java.rmi.ConnectException:连接拒绝宿主:127.0.0.1;嵌套异常是: java.net.ConnectException:拒绝连接(拒绝连接) 无法连接到kotlin守护程序。使用回退策略

选择JAVA工具选项:-Xms512m

任务:应用程序:CompileForSSdebugandroidTestKotlin失败

失败:生成失败,出现异常

  • 出了什么问题: 任务“:app:compileForSSdebugandroidTestKotlin”的执行失败
有关错误日志的更多详细信息可用

这是我的config.yml文件,用于运行ui测试作业的circleci

run-ui-tests:
    docker:
      - image: circleci/android@sha256:5cdc8626cc6f13efe5ed982cdcdb432b0472f8740fed8743a6461e025ad6cdfc
    environment:
      JVM_OPTS: -Xmx2048m
      GRADLE_OPTS: -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false
    steps:
      - checkout
      - run:
          name: ANDROID_HOME
          command: echo "sdk.dir="$ANDROID_HOME > local.properties
      - run:
          name: restore files from ENV
          command: |
            echo $ROCKET_JKS_BASE64 | base64 --decode > Rocket.jks
            echo $ROCKET_PLAY_JSON | base64 --decode > app/rocket-chat.json
      - run:
          name: checkout Rocket.Chat.Kotlin.SDK
          command: git clone https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK.git ../Rocket.Chat.Kotlin.SDK
      - restore_cache:
          key: kotlin-sdk-{{ .Revision }}
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Accept licenses
          command: yes | sdkmanager --licenses || true
      - run:
          name: Download Dependencies
          command: ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Setup emulator
          command: sdkmanager "system-images;android-22;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a"
      - run:
          name: Launch emulator
          command: export LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib && emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel auto -verbose
          background: true
      - run:
          name: Wait emulator
          command: |
            # wait for it to have booted
            circle-android wait-for-boot
            # unlock the emulator screen
            sleep 30
            adb shell input keyevent 82
      - run:
          name: Run EspressoTests
          command: ./gradlew connectedAndroidTest
      - store_artifacts:
          path: app/build/reports
          destination: reports
      - store_test_results:
          path: app/build/test-results
格拉德尔酒店

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
其他配置

compileSdk version           : 28
targetSdk version            : 28
kotlin version               : '1.3.31'
该项目有两种风格:自由和开放源码软件和游戏 和2种构建类型:调试和发布


我已经尝试了所有可能的解决办法,但没有一个奏效。任何帮助都将不胜感激。谢谢,我遇到了同样的问题

最后,我删除了gradle缓存文件夹(linux:~/.gradle),这个问题就消失了

你可以先杀了格雷德·迪蒙

更新:我发现原因是禁用gradle deamon可以解决这个问题。 将org.gradle.daemon=false添加到gradle.properties

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m

更新2:抱歉,各位,我的ECS(1个cpu,1G内存)内存太低的原因是,我添加了1G交换,这个问题被解决了。

对于很多人来说,添加您已经添加的渐变选项行似乎有助于解决他们的解编错误。对我来说,这一行实际上在到达导致解组错误的命令之前中断了我所有的单元测试。对于我们的构建,我们的gradle内存在运行了所有单元测试之后就用完了。解决方案是在所有单元测试运行之后,但在构建并推送到存储之前,清除gradle缓存。正如用户朱坤倩在评论部分指出的那样,我们将命令
rm-fr~/.gradle/daemon/
添加到travis文件中。

将这一行添加到
config.yml
帮助我避免了这个错误

GRADLE\u选项:-Xmx1536m-XX:+heapdumponootfmemoryerror-Dorg.GRADLE.caching=true-Dorg.GRADLE.configureondemand=true-Dkotlin.compiler.execution.strategy=in-process-Dkotlin.incremental=false


更多信息请点击此处:

您是否可以分享您的circleci配置文件或提及我为您提供的用于解决问题的命令。您好,您可以尝试禁用gradle deamon:org.gradle.daemon=false我发现这可以解决问题。先杀了格雷德·迪蒙。我不知道为什么。我尝试通过添加org.gradle.daemon=false来破坏gradle守护进程,但随后它抛出
gradle构建守护进程意外消失(它可能已被杀死或崩溃)
@GOVINDDIXIT您可以尝试删除gradle守护进程缓存文件夹rm-fr~/.gradle/daemon/我发现这可以在一台计算机上解决,但另一台计算机仍然无法解决。@GOVINDDIXIT今天,我多次试图找出为什么这个问题只发生在我的linux计算机上。我发现这两台电脑都是ECS,有1个cpu,1G内存。所以我想可能是内存太少了。我添加了1G交换,发现这个问题在两台计算机上都消失了。所以我想你可以检查一下内存是否足够,然后再试一次。