问题描述
无法使用 cmdline-tools 运行模拟器,我收到以下错误
root@8110fcf520fc:~# emulator -avd pixel -verbose -no-boot-anim -no-window -gpu off -accel off
emulator: Android emulator version 30.7.5.0 (build_id 7491168) (CL:N/A)
emulator: Found AVD name 'pixel'
emulator: Found AVD target architecture: x86
emulator: argv[0]: 'emulator'; program directory: '/opt/Android/Sdk/emulator'
emulator: Not a directory: /opt/Android/Sdk/Sdk/system-images/android-30/google_apis_playstore/x86/
PANIC: broken AVD system path. Check your ANDROID_SDK_ROOT value [/opt/Android/Sdk]!
root@8110fcf520fc:~# emulator -avd pixel -verbose -no-boot-anim -no-window -gpu off -accel off
emulator: Not a directory: /opt/Android/Sdk/Sdk/system-images/android-30/google_apis_playstore/x86/
但是 system-imges 已正确安装在 ANDROID_SDK_ROOT 目录中
解决方法
我遇到了类似的问题。我的用户路径包含非 ASCII 字符。试试这个:
移动 .android 和 SDK 文件夹并重置配置
-
关闭所有编辑器和所有安卓相关程序;
-
检查“.android”文件夹的位置;
-
在与错误实现高度兼容的路径下创建一个新文件夹(无空格,长度少于 255 个字符,只有 ascii 字符[我把它放在 C:\Android 中,我也将 SDK 文件夹移动到])
-
将 .android-folder 移动到之前创建的文件夹中;
-
打开 .android-folder 的 avd-subfolder;
-
打开每个“.ini”文件(每个对应一个模拟器,存储在同名目录中,没有.ini扩展名);
-
将每个文件中 path-property 的值中的旧路径替换为 .android-folder 的新路径,使其指向 emulator-directory;
-
打开windows环境变量设置对话框;
-
为 ANDROID_SDK_HOME 添加新条目或编辑现有条目(对我而言:C:\Android);
-
将值设置为包含 .android-folder 的文件夹的位置。 (不是 .android 文件夹本身 [对我来说:C:\Android]);
-
按照此处指定的方式移动 SDK 内容:How to move SDK file after android studio is installed
确认解决方案在 Visual Studio Code 中有效:
- 启动编辑器;
- 检查模拟器是否列在设备列表中(右下蓝色按钮)。
如果您像我一样移动文件夹,您将拥有我拥有的 Windows 环境变量:
- ANDROID_HOME = C:\Android\Sdk ;
- ANDROID_SDK_HOME = C:\Android ;
- ANDROID_SDK_ROOT = C:\Android\Sdk;
从这里的一些答案启发的解决方案: https://developercommunity.visualstudio.com/t/panic-cannot-find-avd-system-path-please-define-an/1005744
也许不是,但我希望它无论如何都能有用