What is the command to list the available avdnames

我知道我可以通过输入来启动模拟器 AVD

emulator.exe @avdname

但是是否有一个命令来列出可用的 avdname? 这个 AVD 配置存储在哪里?

107497 次浏览

AFAIK avdmanager list avd is what you need.

我尝试了一些组合,它的工作:) ,这是相当明显的

android list avd

输出是这样的

Available Android Virtual Devices:
Name: EMULLL
Path: /home/krste_ristevski/.android/avd/EMULLL.avd
Target: Android 2.3.3 (API level 10)
Skin: WVGA800
Sdcard: 512M

现在

emulator @EMULLL

I can start the emulator from console

我有一个简单的方法(只适用于窗口) :

  1. 首先,在系统中设置 adb 的永久路径(非常类似于 java)。找到你的,对于大多数情况下-C:\Program Files\android\android-sdk\platform-tools和复制它。现在检查您的系统属性并找到高级系统设置。现在在系统变量 tab find path 中找到环境变量。如果没有路径,那么创建一个新变量并将其命名为 Path,然后将复制的值粘贴到下一个字段中。但是如果已经有一个 Path,那么打开它,在值框的最后放一个 ;分号,并粘贴复制的值。

  2. 现在您已经差不多完成了。 ! 通过在 cmd 中键入 adb来检查它

  3. 现在输入 adb devices,这就是你想要的。干杯!

Using sdk/tools/emulator

This will list all available avds

emulator -list-avds

这是一篇老文章,但我目前正在使用这个脚本来显示 avd 名称并启动一个。

#! /bin/bash
# (@) start-android
# If the emulator command exists on this device, displays a list of emulators
# and prompts the user to start one


# Check if the emulator command exists first
if ! type emulator > /dev/null; then
echo "emulator command not found"
exit 1
fi


# Gather emulators that exist on this computer
DEVICES=( $(emulator -list-avds 2>&1 ) )


# Display list of emulators
echo "Available Emulators
----------------------------------------"
N=1
for DEVICE in ${DEVICES[@]}
do
echo "$N) $DEVICE"
let N=$N+1
done


# Request an emulator to start
read -p "
Choose an emulator: " num


# If the input is valid, launch our emulator on a separate PID and exit
if [ $num -lt $N ] && [ $num -gt 0 ];
then
DEVICE=${DEVICES[$num-1]}
emulator "@$DEVICE" > /dev/null 2>&1 &
exit 0
else
echo "Invalid Entry : $num"
exit 1
fi

下面是一个运行和输出的例子:

./start-android.sh
Available Emulators
----------------------------------------
1) Nexus_5X_API_23
2) Nexus_9_API_23


Choose an emulator: 1

列出所有的模拟器:

模拟器列表

运行列出的模拟器之一:

模拟器名称

where emulator is under:

${ ANDROID _ SDK }/tools/Simulator

进入 Android/sdk/tools 并运行以下命令

./emulator -list-avds

它会返回类似于

Nexus_5X_API_P
Nexus_6_API_25

对于到达这里的 Mac 用户,您可以在 /用户/YOURUSERNAME/图书馆/Android/sdk/tools/找到前面提到的 Android/sdk/tools目录

关于 Mac 和 Linux 操作系统:

  1. 导航到 Android/sdk/emulators
  2. Run command ./emulator -list-avds

这将给你所有的 AVD 的创建在您的系统。

首先检查模拟器 exe 是否已安装,是否存在于 PATH env 变量中:

视窗: where emulator

C:\Users\ShahidSiddiqui>where emulator
C:\Users\ShahidSiddiqui\AppData\Local\Android\Sdk\emulator\emulator.exe

* nix/Mac: which emulator

如果找不到模拟器,请安装它或修复 PATH 以包含它的路径。

你可以通过运行下面的命令来检查你电脑中的 avd:

PS C:\Users\ShahidSiddiqui> dir $HOME\.android\avd




Directory: C:\Users\ShahidSiddiqui\.android\avd




Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         7/05/2021   2:55 pm                Copy_of_HighRAM_Custom_API_30-Clone.avd
d-----        27/04/2021   5:36 pm                HighRAM_Custom_API_30.avd
d-----        29/01/2021  10:19 pm                Nexus_5X_API_30.avd
d-----        30/03/2021   1:27 pm                Nexus_5X_API_30_2.avd
d-----        22/01/2021   8:03 am                Pixel_4_API_30.avd
d-----        24/12/2020  10:14 am                Pixel_4_API_30_-2.avd
d-----        18/03/2021   2:55 pm                ShahidDevice_API_30.avd
-a----        29/04/2021  10:00 am            176 HighRAM_Custom_API_30-Clone.ini
-a----        29/01/2021   4:36 pm            148 HighRAM_Custom_API_30.ini
-a----        25/03/2021   4:20 pm            140 Nexus_5X_API_30_-New.ini

INI 文件是可以运行的 AVD 的名称。

如果配置正确,查看 AVD 是很容易的。运行命令:

PS C:\Users\ShahidSiddiqui> emulator -list-avds
HighRAM_Custom_API_30-Clone
HighRAM_Custom_API_30
Nexus_5X_API_30_-New

要启动这些 avd 中的任何一个,运行下面的命令(我正在使用这个命令) :

PS C:\Users\ShahidSiddiqui\.android\avd> emulator -avd HighRAM_Custom_API_30-Clone
emulator: Android emulator version 30.5.5.0 (build_id 7285888) (CL:N/A)
handleCpuAcceleration: feature check for hvf
added library vulkan-1.dll
Failed to open /qemu.conf, err: 2
Windows Hypervisor Platform accelerator is operational
emulator: INFO: GrpcServices.cpp:301: Started GRPC server at 127.0.0.1:8554, security: Local

一个甜蜜的 AVD 将被推出。 干杯!

NOTE: adb devices command will only list the currently running avds and real android devices. It will not show emulators (i.e. avds configured).