gradlew: autorizzazione negata


287

Sto tentando di eseguire Gradlew dalla mia riga di comando, ma sono costantemente di fronte al seguente errore.

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

Sto già eseguendo questo comando dalla mia directory di progetto. Devo eseguire questo comando perché sto riscontrando lo stesso errore (non descrittivo) su Android Studio 0.2.x come riscontrato qui: Android Studio e errore di compilazione gradle

Sto facendo qualcosa di sbagliato e come posso aggirare questo?

Risposte:


818

Prova a impostare il flag di esecuzione sul tuo file gradlew:

chmod +x gradlew


4
Vuoi dire, chmod + x gradlew? (: Ha funzionato. Modifica la tua risposta in modo che io possa contrassegnarla come accettata. Grazie!
Brenda Nicole Tan,

28
c'è qualche motivo per cui il modello predefinito non imposta già gradlew come eseguibile? sembra strano che avrei dovuto farlo.
Ankur,

3
Ho avuto un problema simile durante l'installazione di Atlassian Bamboo; controllando il file gradlew da git non aveva l'attributo eseguibile, quindi ho dovuto aggiungere un'attività "script" al mio lavoro a chmod + x come ha sottolineato @Vincent. Grazie!
Doug Ayers,

@Vincent potresti per favore approfondire il motivo per cui questo è necessario per risolvere il problema dell'autorizzazione?
Abhijit,

4
@Abhijit puoi controllare i permessi dei file facendo ls -l. Questo ti dà le autorizzazioni per i file nella colonna più a sinistra.
Sudhanshu,

59

Potrebbe anche essere risolto con

git update-index --chmod=+x gradlew

1
Esattamente quello che stavo cercando!
sschrass,

1
correzione corretta per gli utenti di Windows. Grazie!
GBP

5
... e dopo sono necessari impegno e spinta
Michal Hosala,

33

È possibile utilizzare "bash" prima del comando:

bash ./gradlew compileDebug --stacktrace

27

È necessario aggiornare l'autorizzazione di esecuzione per gradlew

Localmente :chmod +x gradlew

Git :

git update-index --chmod=+x gradlew
git add .
git commit -m "Changing permission of gradlew"
git push

Tu dovresti vedere:

mode change 100644 => 100755 gradlew

Grazie, mi ha aiutato molto!
Igor Fridman,

26

Jenkins> Project Dashboard> (seleziona progetto gradle) Configura> Costruisci

x Usa Gradle Wrapper

Rendi eseguibile gradlew x

inserisci qui la descrizione dell'immagine


Per te funziona? Ho impostato la casella di controllo nelle impostazioni del mio lavoro ma non ha portato a rendere eseguibile gradlew. Io uso l' clean before checkoutopzione.
Zubactik,

1
Per me va bene! Devi dire esplicitamente a jenkins di creare l'eseguibile.
Harvey Lin,

16

git update-index --chmod = + x gradlew

Questo comando funziona meglio soprattutto su sistemi non unix.


2

Digita questo commandnel terminale Android Studio (o nel tuo terminale Linux / Mac)

chmod +x gradlew

e prova a:

 ./gradlew assembleDebug

inserisci qui la descrizione dell'immagine


1

se non funziona dopo chmod'ing assicurati di non tentare di eseguirlo nella directory / tmp.


1

Nel mio caso, avevo eseguito i permessi e non potevo eseguire gradlew anche con sudo. il mio problema era che il mio progetto era su un altro disco rigido e non avevo il permesso di esecuzione su quell'unità. Ho semplicemente rimosso il flag di montaggio noexec da fstab e ho aggiunto il flag exec. quindi rimontare il disco in modo da applicare le modifiche.



0

Ho avuto lo stesso errore nel tentativo di eseguire il flutter run su un mac. Apparentemente, nel tuo progetto Flutter, c'è un file android / gradlew che dovrebbe essere eseguibile (e non lo era). Quindi nel mio caso,

chmod a+rx android/gradlew

ho usato questo comando ed ho eseguito il progetto


0

Questo errore è legato all'autorizzazione gradle. Basta incollare la riga sotto nel terminale ed eseguire ...

chmod a + rx android / gradlew


0

sulla cartella Android cmd run

chmod +x gradlew

e corri

./gradlew clean

e progetto root eseguito

react-native run-android
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.