avdmanager зависает на "Загрузка локального хранилища ..." Linux - PullRequest
0 голосов
/ 06 апреля 2020

Репро:

  1. Безголовый Ubuntu 18.04 LTS ВМ (включена запись kvm)
  2. sudo apt-get update
  3. sudo apt-get install -y wget openjdk-8-jre-headless libc6-i386 lib32stdc++6 python3-pip nginx unzip
  4. sudo wget https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
  5. sudo unzip commandlinetools-linux-6200805_latest.zip -d /opt
  6. sudo /opt/tools/bin/sdkmanager --install --sdk_root=/opt "system-images;android-19;default;armeabi-v7a" "platform-tools" "platforms;android-19"
  7. /opt/tools/bin/avdmanager create avd -n arm -k "system-images;android-19;default;armeabi-v7a" -f

На шаге 7 в зависает с Loading local repository...

Примечания:

  • Запуск avdmanager как sudo не помогает, и пользователь все равно должен создать изображение.
  • Пробовал sudo setfacl -m u:username:rwx /opt/tools/bin/avdmanager didn ' t help
  • установка ANDROID_HOME=/opt и PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools не помогает
  • более новая версия инструментов командной строки не помогает эфиру (шаг 4).

В чем проблема? Как я могу расследовать? Я что-то пропустил?

1 Ответ

0 голосов
/ 20 апреля 2020

Я столкнулся с той же проблемой. Я считаю, что может быть что-то не так с avdmanager или sdkmanager, потому что он всегда определяет неправильный путь sdk_ root. Например, если я создаю папку под моим root на сервере (например, /root/SDK) в качестве sdk root, avdmanager не выполняет поиск папок, таких как emulator, platform-tools, et c, под root/SDK. Оказывается, он всегда ищет в папке верхнего уровня (т.е. /root). Если в /root есть много вещей, процесс поиска займет много времени, поэтому он зависает при «загрузке локального репозитория». Если вы подождете достаточно времени, вы в итоге увидите результат. В общем, мое решение - поместить sdk root в один более глубокий уровень папки (например, /root/SDK/android_sdk_linux). avdmanager все еще начинает поиск в папке верхнего уровня (то есть, /root/SDK), но это очень быстро, потому что в /root/SDK ничего нет. avdmanager могут выдаваться некоторые предупреждения, но вы можете игнорировать их, потому что по моему опыту побочных эффектов нет.

...