Android 如何根据AVD管理器中的设备定义从命令行创建AVD?

Android 如何根据AVD管理器中的设备定义从命令行创建AVD?,android,command-line,avd,Android,Command Line,Avd,在AVD管理器gui中,我看到了一个设备定义列表,这些定义使得为设备提供给定设置变得很容易 当我使用android list targets时,我从设备定义中得到了一组不同的结果 设备定义列表是否可以通过命令行访问?如果是这样,如何通过命令行基于设备构建设备 更新: 当您通过avd gui创建设备时,它会创建一个位于/.android/name of your phone/config.ini的配置文件,您可以使用-prop将您想要的设置选项添加到一个新设备中示例:-prop hw.sdCard

在AVD管理器gui中,我看到了一个设备定义列表,这些定义使得为设备提供给定设置变得很容易

当我使用
android list targets
时,我从设备定义中得到了一组不同的结果

设备定义列表是否可以通过命令行访问?如果是这样,如何通过命令行基于设备构建设备

更新: 当您通过avd gui创建设备时,它会创建一个位于
/.android/name of your phone/config.ini
的配置文件,您可以使用
-prop
将您想要的设置选项添加到一个新设备中示例:
-prop hw.sdCard=yes-prop sdCard.size=200M
,我使用
-verbose
标志运行了full命令,您可以看到它的配置。令人恼火的是,这些选项不是用逗号圈定的,而是随便什么

最终为我工作的全部命令是:

$ANDROID_HOME/tools/emulator -avd phone -gpu on -memory 3072 -prop hw.sdCard=yes -prop sdcard.size=200M -prop disk.dataPartition.size=200M
您看到的(可能在Android Studio中)都是用IDE预先打包的。如果您通过右键单击应用程序文件并选择“显示软件包内容”来查看Android Studio的应用程序文件(在Mac中):

应用程序▸ Android Studio.app▸ 目录▸ 插件▸ 安卓▸ 解放党▸ 设备艺术资源▸ device-art.xml

您将看到如下内容:

...
<device id="galaxy_nexus" name="Galaxy Nexus">
    <orientation name="port" size="1101,1709" screenPos="192,213" screenSize="720,1280" shadow="port_shadow.png" back="port_back.png" lights="port_fore.png"/>
    <orientation name="land" size="1847,886" screenPos="304,68" screenSize="1280,720" shadow="land_shadow.png" back="land_back.png" lights="land_fore.png"/>
</device>
<device id="nexus_s" name="Nexus S">
    <orientation name="port" size="719,1139" screenPos="119,160" screenSize="480,800" shadow="port_shadow.png" back="port_back.png" lights="port_fore.png"/>
    <orientation name="land" size="1210,586" screenPos="208,44" screenSize="800,480" shadow="land_shadow.png" back="land_back.png" lights="land_fore.png"/>
</device>
...
。。。
...
此外,我在SDK文件夹中找到了ConfigGenerator.java类,该类包含所有这些java中的预打包设备配置和定义。看一看,我想这就是你要找的

安卓SDK▸ 来源▸ 安卓-21▸ 通用域名格式▸ 安卓▸ 布局库▸ 桥▸ 密集的▸ 设置▸ <代码>ConfigGenerator.java

因此,您可能无法直接使用此专有avd定义。但也许,您可以创建一个脚本,并使用此文件作为基线,在上面构建并派生您自己的解决方案


希望这有帮助。

这些只是皮肤。。。我更好奇的是他们把那些设备定义的配置藏在哪里了。啊!在SDK文件夹中还发现了另一个Java类,其中包含这些预打包手机及其属性初始化的可疑实现。我更新了答案。我想正确的答案最终是没有什么好方法可以做到这一点。谢天谢地,我找到了一个解决办法。是的,我同意,对不起,乔,这是我在这个问题上所能找到的全部