avdmanager 挂在“正在加载本地存储库...”Linux 上

Ant*_*hik 3 ubuntu android avd-manager

重现:

  1. 无头 Ubuntu 18.04 LTSVM(启用 kvm note)
  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没有帮助
  • 设置ANDROID_HOME=/opt并PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools没有帮助
  • 较新版本的命令行工具对以太没有帮助(步骤 4)。

问题是什么?我该如何调查?我错过了什么吗?

Ric*_* Hu 5

我遇到了同样的问题。avdmanager我相信or可能有问题,sdkmanager因为它总是标识错误的 sdk_root 路径。例如,如果我在服务器上的根目录下创建一个文件夹(例如/root/SDK)作为 sdk 根目录,则avdmanager不会搜索下的emulator、platform-tools等文件夹root/SDK。事实证明,它总是在上层文件夹(即/root)中搜索。如果 中的内容很多/root,搜索过程将花费大量时间,这就是它挂在“正在加载本地存储库”上的原因。如果你等待足够的时间,你最终会看到结果。因此,为了解决这个问题,我的解决方案是将 sdk 根目录放入更深的文件夹级别(例如,/root/SDK/android_sdk_linux)。仍然avdmanager开始在上层文件夹(即/root/SDK)中搜索,但速度非常快,因为/root/SDK. 可能会输出一些警告,avdmanager但您可以忽略它们,因为根据我的经验,没有副作用。


小智 5

发生这种情况是因为从版本(6200805)开始,命令行工具应该放置在cmdline-tools目录中。它应该在 ANDROID_HOME 中手动创建。

请看这个答案。通过上述配置,一切正常。