android - Gitlab Ci gradlew : does not exist and --remove not passed

标签 android gitlab gitlab-ci

我关注 this链接以在我的示例项目中实现一个简单的 Gitlab ci。
这是我的 Gitlab ci 配置

image: openjdk:8-jdk

variables:
  ANDROID_COMPILE_SDK: "28"
  ANDROID_BUILD_TOOLS: "28.0.2"
  ANDROID_SDK_TOOLS:   "4333796"

before_script:
  - apt-get --quiet update --yes
  - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
  - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip
  - unzip -d android-sdk-linux android-sdk.zip
  - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
  - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
  - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
  - export ANDROID_HOME=$PWD/android-sdk-linux
  - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
  - chmod +x ./gradlew
  # temporarily disable checking for EPIPE error and use yes to accept all licenses
  - set +o pipefail
  - yes | android-sdk-linux/tools/bin/sdkmanager --licenses
  - set -o pipefail

stages:
  - build
  - test

lintDebug:
  stage: build
  script:
    - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint

assembleDebug:
  stage: build
  script:
    - ./gradlew assembleDebug
  artifacts:
    paths:
    - app/build/outputs/

debugTests:
  stage: test
  script:
    - ./gradlew -Pci --console=plain :app:testDebug

但是它找不到gradlew并且总是显示这个错误

$ chmod +x ./gradlew
chmod: cannot access './gradlew': No such file or directory
ERROR: Job failed: exit code 1

最佳答案

如果你想运行 ./gradlew,你必须在 Git 中跟踪这个文件或者在 before_script 中生成/安装它。这似乎并没有发生。

很可能您没有跟踪 gradlew 文件,要么不将其添加到 Git,要么在 .gitignore 文件中忽略它。 确保您在 VCS 中跟踪 gradlew 文件。

关于android - Gitlab Ci gradlew : does not exist and --remove not passed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56626319/

相关文章:

android - 使用 Android uiautomator 设置文本后抑制键盘

java - 如何使用 Unity3D 将变量从 AndroidJavaObject 获取到 C# 类中

ruby-on-rails - Gitlab 不会发送电子邮件 - 综合 Gitlab CentOS 6.5

elasticsearch - Gitlab Elasticsearch Service 在管道运行期间未连接

gitlab - 我可以只安排一个特定的 GitLab CI/CD 作业吗?

docker - Gitlab-CI DinD 不会启动

Android 推送通知不起作用(Corona sdk)

android - 如何获取默认的 ProgressBar 可绘制对象?

gitlab - 我怎样才能只使用 GitLab CI?

git - 如何在单个 Gitlab 存储库中创建多个项目