./gradlew: No such file or directory

Hi, I am new in CircleCI, and trying to use CircleCI 2.0 on Android.
Here is my config.yml below:

version: 2
jobs:
  build:
  working_directory: ~/code
docker:
  - 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: TEST1
     command: find . -name 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:
      path: app/build/reports
      destination: reports
  - store_test_results:
      path: app/build/test-results

I found that it is happening because there is a root folder on my GitHub. Which means “app” folder is in my root folder, so like this, “MyApp” -> “app”.
If I pull out app folder from “MyApp”, it works, but I can not move it.

How should I fix config.yml then?

Hi there,

You can pass a path to the checkout command to alter the checkout directory to be different from the working directory, like this:

jobs:
  build:
    working_directory: ~/project/MyApp
    docker:
      - image: circleci/android:api-25-alpha
    environment:
      JVM_OPTS: -Xmx3200m
    steps:
      - checkout:
          path: ~/project

This should set the working directory to be the correct folder.

You can also alter the working directory on each item in the steps array if you need more fine-grained control.

Thanks,

Marc

It looks not work for me.
Instead, I found two ways to solve this.

  1. put “cd MyApp;” in front of “./gradlew”
    ex. command: cd MyApp;./gradlew androidDependencies
  2. set working_directory
    - run:
    name: Download Dependencies
    working_directory: ~/code/MyApp
    command: ./gradlew androidDependencies
1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.