Помилка Gradle: доступ до запису дозволений з потоку відправлення події лише в Android Studio


120

Після оновлення Android Studio до версії 2.2 (для Windows 10) і якось наступного ранку я отримав таку помилку, коли gradle будувався на будь-якому проекті:

Доступ до запису дозволений лише з потоку відправки події

Незважаючи на те, що команда gradlew -build працювала і завершувалася успішно. Я спробував типові розробки для ремонту WTF для Android: чистий збір, недійсний кеш, видалення папок збірки, видалення .gradle папки, спробував різні настройки gradle, навіть перевстановлення Android Studio і нічого не допомогло.

Я створив це питання лише для того, щоб поділитися своїм досвідом із спільнотою, тому що я витратив на це дві години.


Розмістіть SDK лише в студії Andoid.
Ja Mal Ch

Відповіді:


413

Таким чином, проблема була укладена тим, що Android Studio суперечив моїй встановленій версії JDK, тому вона була вирішена, коли я перевірив розташування JDK (Файл → Структура проекту → Розташування SDK), поставив галочку "Використовувати вбудований JDK" і встановив місце JDK для "шляху до" Android Studio '\ Android Studio \ jre


1
Добре працював для мене! Дуже дякую!
waseefakhtar

1
Ідеальна відповідь! Працювали миттєво. Якраз коли я натиснув кнопку "Відкрити структуру проекту", прочитавши цю відповідь, у самому діалоговому вікні "Структура проекту" з'явилося повідомлення внизу діалогового вікна із зазначенням "Будь ласка, виберіть дійсний каталог JDK", що супроводжується кнопкою навігації, яка після натискання переходить до JDK текстове поле місцезнаходження. В даний час я використовую Android Studio 3.1.3 на своєму Ubuntu. Дякую!
сем

11

Проблема виникла, коли андроїд-студія конфліктував із встановленою версією jdk, перейдіть до (Файл -> Структура проекту -> Місце розташування SDK), поставте прапорець "Використовувати вбудований JDK" та встановіть місце jdk у "шлях до андроїд-студії" \ Android Studio \ jre :) Простий


1

це не спрацювало для мене, я запустив команду 'gradle clean build', я зрозумів, що в рядку є конфлікт, видалив його та синхронізував проект ( як на цій фотографії )

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


1
це те, що мені спрацювало над цим питанням, це може допомогти іншим, хто мав мою проблему з тим самим питанням
Ryuzaki

0

Моя проблема полягала в тому, що я видалив SDK, який використовував під час очищення місця на жорсткому диску.

Щоб виправити це, спочатку перевірте, які встановлені пакети SDK або встановіть в Інструменти> Менеджер SDK.

Потім ви можете змінити compileSdkVersion і targetSdkVersion у програмі build.gradle на встановлену версію sdk.

В іншому випадку ви можете просто перевстановити те, що коли-небудь використовував sdk.


-1

В Android Studio 3.2.1 перейдіть у меню Файл -> Структура проекту -> Розташування SDK та встановіть прапорець "Використовувати вбудований JDK (рекомендується)". введіть тут опис зображення

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