Каталог 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.

Надеюсь, поможет!

вообще нет необходимости что-то переустанавливать...

предоставление права записи текущему авторизованному пользователю решает проблему.

Другие вопросы по тегам