2013-07-16 6 views
126

Je tente d'exécuter gradlew à partir de ma ligne de commande, mais je suis constamment confronté à l'erreur suivante.gradlew: Autorisation refusée

Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --stacktrace 
-bash: ./gradlew: Permission denied 

Je cours déjà cette commande à partir de mon répertoire de projet. Besoin d'exécuter cette commande car je fais face à la même erreur (non-descriptive) sur Android Studio 0.2.x que celle rencontrée ici: Android studio and gradle build error

Est-ce que je fais quelque chose de mal et comment je contourne cela?

Répondre

387

Essayez de mettre le drapeau d'exécution sur votre fichier gradlew:

chmod +x gradlew

+1

Vous voulez dire, chmod + x gradlew? (: Cela a fonctionné svp éditez votre réponse pour que je puisse la marquer comme la acceptée.) –

+0

Je l'ai édité déjà – Vincent

+14

Y at-il une raison pour laquelle le modèle par défaut n'a pas déjà réglé gradlew comme exécutable? – Ankur

11

Ou vous pouvez utiliser "bash" avant la commande

./bash gradlew compileDebug --stacktrace 
17

Jenkins> Tableau de bord de projets> (sélectionnez projet gradle) Configurer> Construire

x Utiliser l'empileuse Gradle

rendre exécutables gradlew x

+0

Cela fonctionne pour vous?J'ai mis la case à cocher dans les paramètres de mon travail mais cela n'a pas permis de rendre gradlew exécutable. J'utilise l'option 'clean before checkout'. – zubactik

+0

cela a fonctionné pour moi –

+0

Fonctionne pour moi! Vous devez dire à Jenkins explicitement de rendre l'exécutable. –

1

si elle ne fonctionne pas après chmod'ing assurez-vous que vous essayez de ne pas l'exécuter dans le répertoire/tmp.

1

pourrait aussi être fixé avec

git update-index --chmod=+x gradlew

1

update-index git --chmod = + x gradlew

Cette commande fonctionne mieux en particulier sur le système non-unix.