質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

1回答

3236閲覧

cannot access './gradlew': No such file or directoryを解消できません

jj2514

総合スコア1

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

0クリップ

投稿2021/09/28 03:25

編集2021/09/28 03:40

こんにちは、GitLab CIを活用しGitLabにプッシュした際に自動でビルドやユニットテストを行う環境を構築しようとしている者です。

ジョブは開始するものの、ビルド段階で下記のエラーが発生して失敗するという状況を解消できません

chmod: cannot access './gradlew': No such file or directory

該当のソースコード

**.gitlab-ci.yml** 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
**ログ(文字数の関係で全文載せられなかったので一部抜粋)** $ echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null Warning: File /root/.android/repositories.cfg could not be loaded. $ echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null Warning: File /root/.android/repositories.cfg could not be loaded. $ echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null Warning: File /root/.android/repositories.cfg could not be loaded. $ export ANDROID_HOME=$PWD/android-sdk-linux $ export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ $ chmod +x ./gradlew chmod: cannot access './gradlew': No such file or directory Cleaning up project directory and file based variables 00:01 ERROR: Job failed: exit code 1

試したこと

この問題について調べてみたところ下記の記事などにあるように
https://qiita.com/ochim/items/228f8dc89f392a3bea84

vimで

:set fileformat=unix

とし、gradlewファイルの改行コードをunix formatにする方法や

下記の記事のように
https://stackoverflow.com/questions/58801522/ci-android-project-gradlew-no-such-file

.gitignoreファイルを修正してみたのですが問題は解決できませんでした。

この問題の解決方法をご存じの方がいらっしゃいましたらご教授ください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

'./gradlew'

ってのは現在のカレントディレクトリにある'gradlew'という名前のファイルを指してます

cannot access './gradlew': No such file or directory

ってのは、そのファイルが存在しない、といってるので、まずはそのファイルがそこに有るかを確かめてみればどうでしょう

投稿2021/09/28 03:41

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jj2514

2021/09/28 04:06

こんにちは、ご回答いただきありがとうございます。 下記の通りルートディレクトリ直下にgradlewを配置しています。 アプリのディレクトリ 2021/09/28 11:36 <DIR> . 2021/09/28 11:36 <DIR> .. 2021/09/28 12:04 236 .gitignore 2021/09/24 16:56 1,367 .gitlab-ci.yml 2021/09/17 12:58 <DIR> app 2021/09/17 12:58 530 build.gradle 2021/09/22 11:47 <DIR> gradle 2021/09/17 12:58 1,093 gradle.properties 2021/09/28 11:28 5,297 gradlew 2021/09/28 10:58 2,176 gradlew.bat 2021/09/17 12:58 2,176 gradlew.bat~ 2021/09/28 10:33 5,296 gradlew~ 2021/09/17 12:58 44 settings.gradle なので./gradlewに存在してないということはないかと思います(ぼくの認識が間違っていたらすいません)
y_waiwai

2021/09/28 04:08

ルートディレクトリではなく、カレントディレクトリを指してます。 カレントディレクトリはどこでしょうか
jj2514

2021/09/28 04:37

カレントディレクトリがひと階層上でした。 gradlewをひと階層上げたら問題解決できました。 ありがとうございました。
y_waiwai

2021/09/28 04:57

カレントディレクトリにある gradleディレクトリを指すなら、 gradle/gradlew でいけますね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問