gradlew: Дозвіл відхилено


286

Я намагаюся запустити gradlew з мого командного рядка, але постійно стикаюся з такою помилкою.

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

Я вже запускаю цю команду зі свого каталогу проектів. Потрібно запустити цю команду, оскільки я стикаюся з тією самою (неописальною) помилкою в Android Studio 0.2.x, як зустрічається тут: Android Studio і помилка збирання gradle

Чи я щось роблю не так і як мені це обійти?

Відповіді:


818

Спробуйте встановити прапор виконання у вашому файлі gradlew:

chmod +x gradlew


4
Ви маєте на увазі, chmod + x gradlew? (: Це спрацювало. Будь ласка, відредагуйте свою відповідь, щоб я могла позначити її як прийняту. Дякую!
Бренда Ніколь Тан

28
Чи є причина, що шаблон за замовчуванням ще не встановив gradlew як виконуваний файл? здається дивним, що мені доведеться це робити.
Анкур

3
У мене виникли подібні проблеми при створенні збірки атлаських бамбуків; перевіряючи файл gradlew з git, він не мав виконуваного атрибуту, тому довелося додати завдання "скрипт" до моєї роботи до chmod + x, як вказував @Vincent. Дякую!
Даг Айерс

@Vincent, чи можете ви детальніше роз’яснити, чому це потрібно для вирішення проблеми з дозволом?
Абхіджіт

4
@Abhijit ви можете перевірити дозволи файлів, зробивши це ls -l. Це дає вам права доступу до файлів у самому лівому стовпці.
Sudhanshu

58

Можна також виправити за допомогою

git update-index --chmod=+x gradlew

1
Саме те, що я шукав!
sschrass

1
належне виправлення для користувачів Windows. Дякую!
GBP

5
... і згодом потрібні фіксації та
поштовхи


27

Потрібно оновити дозвіл на виконання gradlew

Місцево :chmod +x gradlew

Git :

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

Ви повинні побачити:

mode change 100644 => 100755 gradlew

Дякую, мені дуже допомогли!
Ігор Фрідман

26

Jenkins> Інформаційна панель проекту> (виберіть проект gradle) Налаштування> Build

x Використовуйте Обгортку Gradle

Зробіть gradlew виконуваним x

введіть тут опис зображення


Це працює на вас? Я встановив прапорець у налаштуваннях своєї роботи, але це не призвело до того, щоб gradlew виконувався. Я використовую clean before checkoutваріант.
zubactik

1
Працює для мене! Ви повинні чітко сказати jenkins, щоб зробити виконуваний файл.
Харві Лін

16

git update-index --chmod = + x gradlew

Ця команда працює краще, особливо в не-unix-системі.


2

Просто введіть це commandв Android Studio Терміналу (або ваш Linux / Mac Terminal)

chmod +x gradlew

і спробуйте:

 ./gradlew assembleDebug

введіть тут опис зображення


1

якщо він не працює після chmod'ing, переконайтеся, що ви не намагаєтеся виконати його всередині каталогу / tmp.


1

У моєму випадку я виконував дозволи, і не міг запускати gradlew навіть із судо. моя проблема полягала в тому, що мій проект був на іншому жорсткому диску, і я не мав дозволу на виконання цього диска. Я просто видалив прапор кріплення noexec з fstab і додав прапор exec. потім повторно встановіть диск, щоб зміни застосовувалися.



0

Я отримав таку ж помилку при спробі виконати трепетний біг на mac. Мабуть, у вашому флетер-проекті є файл android / gradlew, який, як очікується, буде виконуваним (а це не було). Тож у моєму випадку

chmod a+rx android/gradlew

Я використав цю команду і виконав проект


0

Ця помилка пов'язана з дозволом gradle. Просто вставте нижче рядка у свій термінал і запустіть ...

chmod a + rx android / gradlew


0

на Android папку cmd запустити

chmod +x gradlew

і біжи

./gradlew clean

і запустити проект root

react-native run-android
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.