Android CircleCi失败,原因是gradlew:没有这样的文件或目录

Android CircleCi失败,原因是gradlew:没有这样的文件或目录,android,circleci,Android,Circleci,我有一个我想用circleCi构建的项目: 这是我的.circleci/config.yml文件: version: 2 jobs: build: working_directory: ~/project docker: - image: circleci/android:api-28-alpha environment: JVM_OPTS: -Xmx3200m steps: - checkout - resto

我有一个我想用circleCi构建的项目:

这是我的.circleci/config.yml文件:

version: 2
jobs:
  build:
    working_directory: ~/project
    docker:
      - image: circleci/android:api-28-alpha
    environment:
      JVM_OPTS: -Xmx3200m
    steps:
      - checkout
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      #      - run:
      #         name: Chmod permissions #if permission for Gradlew Dependencies fail, use this.
      #         command: sudo chmod +x ./gradlew
      - run:
          name: Download Dependencies
          command: ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Run Tests
          command: ./gradlew lint test
      - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ 
          path: app/build/reports
          destination: reports
      - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/
          path: app/build/test-results
      # See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples
生成时,我在CicleCi中收到以下错误消息:

!/bin/bash -eo pipefail
./gradlew androidDependencies
/bin/bash: ./gradlew: No such file or directory
Exited with code 127

原因是什么以及如何修复它?

/gradlew:没有这样的文件或目录
错误意味着生成脚本正在当前目录中查找
gradlew
可执行文件,而当前目录在源代码树中不存在

有两种方法可以解决此问题:

  • gradlew
    可执行文件添加到源代码中
  • 迁移到独立
    Gradle
    安装使用

  • 尝试在项目中向git添加/推送
    /gradle
    文件夹。@Vikalpatel我正在使用bitbucket,无法添加此文件夹。请查看源代码:发表评论
    .gradle/
    (第16行)→ <在你的
    .gitignore
    ()中的code>#.gradle/。之后,推送更改并查看它是否与CircleCI一起工作。它失败并显示相同的错误消息。请发布错误消息。