既存のAndroidプロジェクト呼び出しにTravis CIを使用する
$ ./gradlew build connectedCheck
私はこのエラーを受け取ります:
/home/travis/build.sh: line 45: ./gradlew: Permission denied
The command "./gradlew build connectedCheck" failed and exited with 126 during .
これは、unix gradlew
スクリプトのexec-permissionによって異なります。
コマンドを使用して修正できます:
git update-index --chmod=+x gradlew
問題を理解するためのちょっとした説明。
まず、以下を使用して権限を確認できます。
git ls-tree HEAD
表示されます:
100644 blob xxxxxxxxxxx gradlew
ご覧のとおり、ファイルには644の許可があります。
gradlewファイルの実行可能フラグを755に変更することで修正:
git update-index --chmod=+x gradlew
変更をコミットしてプッシュするだけです:
git commit -m "permission access for travis"
[master e80ab1b] gradlew permission access for travis
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 gradlew
変更を確認するためにgit ls-treeを再度実行する最後のチェック:
git ls-tree HEAD
あなたが見ることができます:
100755 blob xxxxxxxxxxxxx gradlew
この問題を解決する別の方法は、使用することです:
before_install:
- chmod +x gradlew
この種のソリューションは、gitリポジトリのパーミッションを変更するのではなく、実行中のパーミッションランタイムを変更するだけです。
script:
- chmod +x ./gradlew build connectedCheck
皆さんありがとう。このコードは利用可能です。主な焦点はchmod +x
にあります