Каталог SDK недоступен для записи при создании проекта Android на агенте Ubuntu конвейеров Azure
Я настраиваю свой конвейер сборки для проекта Android. Пока что все мои шаги отлично работают на агенте Hosted VS2017, включая выбор кода, сборку с помощью gradlew, публикацию артефакта и его развертывание в AppCenter.
Однако в Hosted Ubuntu 1604 есть несколько проблем с шагом gradlew.
На агенте VS2017 это работает только с: .\gradlew assembleDebug
На Ubuntu 1604 это то, что у меня сейчас есть:
chmod 775 gradlew
chmod 775 /usr/local/lib/android/sdk --> The fix I'm working on
./gradlew assembleDebug
При запуске сборки без 2-й строки агент выдаст это исключение:
Что пошло не так: возникла проблема при настройке проекта ':app'.
Не удалось установить следующие компоненты SDK: build-tools;28.0.3 Android SDK Build-Tools 28.0.3
Каталог SDK недоступен для записи (/usr/local/lib/android/sdk)
Я новичок в Ubuntu... почему он не доступен для записи? Я пытался chmod
но я получил исключение при этом: chmod: changing permissions of '/usr/local/lib/android/sdk': Operation not permitted
,
В каком направлении я должен смотреть, чтобы решить эту проблему сейчас...? Спасибо всем заранее!
0 ответов
Измените владельца Android SDK:
sudo chown -R $(whoami) $ANDROID_HOME
У меня была такая же проблема при стандартной установке Ubuntu.
Решение: установите Android SDK в свой домашний каталог.
Проблема в том, что сборка проекта с Gradle не работает с SDK только для чтения. Установка Android SDK с apt
оставляет это только для чтения.
Точнее, все в /usr/
предполагается, что данные доступны только для чтения, поэтому они принадлежат root
с разрешениями, установленными на 755
, У вашего пользователя нет прав на запись, только у владельца. Установка SDK в вашем домашнем каталоге (и проверка того, что он принадлежит вашему пользователю) должен решить эту проблему.
Установка SDK
Я не видел хороший способ установить только SDK. Есть еще один вопрос, касающийся этого; один из перечисленных способов должен работать. Однако вам может быть проще просто установить Android Studio и выбрать другое место для SDK.
Надеюсь, поможет!
вообще нет необходимости что-то переустанавливать...
предоставление права записи текущему авторизованному пользователю решает проблему.