android gradle continuous-integration travis-ci

android - Travis.yml./gradlew: permiso denegado



continuous-integration travis-ci (2)

Usando Travis CI para un proyecto existente de Android llamando

$ ./gradlew build connectedCheck

Me sale este error:

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


Depende del permiso de gradlew script Unix gradlew .

Se puede arreglar con el comando:

git update-index --chmod=+x gradlew

Una pequeña descripción para entender el problema.
En primer lugar, puede verificar sus permisos usando:

git ls-tree HEAD

Ya verás:

100644 blob xxxxxxxxxxx gradlew

Como puede ver, el archivo tiene permiso 644.

Solucione la configuración del indicador ejecutable en su archivo gradlew cambiándolo a 755:

git update-index --chmod=+x gradlew

Solo comprométete y presiona los cambios:

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

Una última comprobación ejecutando git ls-tree nuevamente para ver el cambio:

git ls-tree HEAD

Puedes ver:

100755 blob xxxxxxxxxxxxx gradlew

Otra forma de resolver este problema es usar:

before_install: - chmod +x gradlew

Este tipo de solución no cambia el permiso en su repositorio git, sino que solo cambia el tiempo de ejecución del permiso en la ejecución.


script: - chmod +x ./gradlew build connectedCheck

Gracias a todos. Este código está disponible El foco principal está en chmod +x