将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 .
将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 .
Answers:
这取决于您对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 repo中的权限,而只是更改执行中的权限运行时。
chmod
不愿在构建脚本中添加其他命令,因为1)它增加了不必要的复杂性2)对于重新克隆存储库的其他团队成员不起作用。