카테고리 보관물: Android

Android

Travis.yml ./gradlew : 권한이 거부되었습니다. 프로젝트 호출에 Travis

기존 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 .



답변

유닉스 스크립트 에 대한 exec 권한 에 따라 다릅니다 gradlew.

다음 명령을 사용하여 수정할 수 있습니다.

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 repo의 권한을 변경하지 않고 실행시 권한 런타임 만 변경합니다.


답변

script:
 - chmod +x ./gradlew build connectedCheck

모두 감사합니다. 이 코드를 사용할 수 있습니다. 핵심 초점은chmod +x


답변