You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CircleCI 2.0构建Android项目时遇gradlew不存在错误求助

解决CircleCI中找不到./gradlew的问题

看到你遇到的./gradlew: No such file or directory错误,这是Android项目在CircleCI构建时的常见问题,主要和文件存在性、权限或者工作目录配置有关,下面一步步帮你排查解决:

1. 确认项目已提交gradlew和gradle/wrapper目录

很多开发者会忽略把Gradle wrapper相关文件提交到版本控制,而CircleCI构建时是从你的版本库拉取代码,如果这些文件缺失,自然找不到gradlew。你需要确保以下文件/目录已经提交:

  • 项目根目录的gradlew脚本
  • 项目根目录的gradle/wrapper文件夹(包含gradle-wrapper.jar和gradle-wrapper.properties)

如果之前没提交,把它们添加到git并推送:

git add gradlew gradle/wrapper
git commit -m "Add Gradle wrapper files"
git push

2. 验证工作目录与代码路径是否匹配

你配置了working_directory: ~/AndroidDemo,CircleCI的checkout步骤会把代码拉取到这个目录下。但如果你的项目在版本库中是嵌套结构(比如代码在一个子文件夹里),那gradlew的路径就不是~/AndroidDemo/gradlew,而是子文件夹下。

可以在checkout步骤后加一个查看目录结构的命令,确认文件位置:

- run:
    name: Check project structure
    command: ls -la ~/AndroidDemo

如果发现gradlew不在当前目录,就需要调整run命令的路径,比如如果在app子目录下,就改成./app/gradlew(或者调整working_directory到对应路径)。

3. 给gradlew添加可执行权限

就算gradlew存在,如果没有可执行权限,bash也会报找不到文件的错误。你可以在执行gradlew命令前先添加权限:
修改你的Download Dependencies步骤:

- run:
    name: Download Dependencies
    command: |
      chmod +x ./gradlew
      ./gradlew androidDependencies

4. 调整后的关键步骤示例

version: 2
jobs:
  build:
    working_directory: ~/AndroidDemo
    docker:
      - image: circleci/android:api-25-alpha
    environment:
      JVM_OPTS: -Xmx3200m
    steps:
      - checkout
      # 新增目录检查与权限设置步骤
      - run:
          name: Verify project files and set gradlew permission
          command: |
            ls -la ~/AndroidDemo
            chmod +x ./gradlew
      - run:
          name: Download Dependencies
          command: ./gradlew androidDependencies
      # 后续原有步骤保持不变...

先按照上面的步骤排查,最常见的原因就是没提交Gradle wrapper文件或者权限不足,先检查这两点应该就能解决问题。

内容的提问来源于stack exchange,提问作者Sheikh Faisal Miskhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:49:44