Travis.yml ./gradlew:权限被拒绝

时间:2015-11-20 06:51:56

标签: android gradle continuous-integration travis-ci

Travis CI 用于现有的Android项目调用

$ ./gradlew build connectedCheck

我收到此错误:

/home/travis/build.sh: line 45: ./gradlew: Permission denied
The command "./gradlew build connectedCheck" failed and exited with 126 during .

2 个答案:

答案 0 :(得分:225)

取决于 exec-permission 到您的unix 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仓库中的权限,只会更改执行中的权限运行时。

答案 1 :(得分:3)

script:
 - chmod +x ./gradlew build connectedCheck

谢谢大家。 此代码可用。 重点是chmod +x