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

使用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 . 

它取决于你的Unix gradlew脚本的exec权限

可以使用以下命令修复它:

 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 

这种解决scheme不会改变你的git仓库的权限,只是在执行中改变权限运行时。

 script: - chmod +x ./gradlew build connectedCheck 

谢谢大家。 此代码可用。 关键在于chmod +x