首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CircleCI中构建android应用程序测试时,不存在gradlew。

在CircleCI中构建android应用程序测试时,不存在gradlew。
EN

Stack Overflow用户
提问于 2018-01-10 13:32:34
回答 1查看 843关注 0票数 1

我有一个安卓项目,我想通过在CircleCI 2.0中部署来构建和测试这个项目。

在执行构建时,我会得到错误。

代码语言:javascript
运行
复制
*$#!bin/bash -eo pipefail
.gradlew androidDependencies
/bin/bash: ./gradlew: No such file or directory
Exited with Code 127*

version: 2
jobs:
  build:
    working_directory: ~/AndroidDemo
    docker:
      # Android the primary container
      - image: circleci/android:api-25-alpha
environment:
  JVM_OPTS: -Xmx3200m
steps:
  - checkout
  #- restore_cache:
  #    key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
  - run:
      name: Download Dependencies
      command: ./gradlew androidDependencies
 # - save_cache:
  #    paths:
   #     - ~/.gradle
   #   key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}

  #- run:
  #    name: Run UnitTest
  #    command: ./gradlew testDemoDebugUnitTest
  - run:
      name: Setup emulator
      command: sdkmanager "system-images;android-24;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-24;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 connectedDemoDebugAndroidTest
  - store_artifacts:
      path: app/build/reports
      destination: reports
  - store_test_results:
      path: app/build/test-results

我在我的config.yml文件中设置了工作目录

// AndroidDemo是我的项目所在

working_directory:~/AndroidDemo

EN

回答 1

Stack Overflow用户

发布于 2018-09-02 20:06:28

由于不支持1.0,我尝试重构配置文件并移到循环CI 2.0。

circle.yml文件应该放在CircleCI应该克隆的根目录下。

应将权限授予gradlew。

代码语言:javascript
运行
复制
chmod +x gradlew

测试下:按以下方式执行gradlew:

代码语言:javascript
运行
复制
./gradlew -Pandroid.testInstrumentationRunnerArguments.class=com.example.android_demo.MyTestsTestSuite connectedAndroidTest -PdisablePreDex

这对我有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48188612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档