簡體   English   中英

如何根據AVD Manager中的設備定義從命令行創建AVD?

[英]How can I create an AVD from the command line based on the device definitions in the AVD Manager?

在AVD Manager gui中,我看到了一個設備定義列表,這些設備可以很容易地為設備配置給定的設置。

當我使用android list targets我從設備定義中獲得了一組不同的結果。

是否可以通過命令行訪問設備定義列表? 如果是這樣,我如何通過命令行構建基於一個設備的設備?

更新:

當您通過AVD GUI創建一個設備它創建位於配置文件在/.android/name-of-your-phone/Config.ini您可以添加你要使用新的設備的設置選項-prop例如: -prop hw.sdCard=yes -prop sdcard.size=200M ,我使用-verbose標志運行完整命令,你可以看到它旋轉的配置。 令人討厭的是,這些選項不是用逗號描述的,而是用於描述。

為我工作的完整命令是:

$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中):

應用▸AndroidStudio.app▸內容▸插件▸android▸lib▸器件藝術資源▸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中所有這些預先打包的設備配置和定義。 看一看,我認為這正是您可能正在尋找的。

android-sdks▸信息來源▸android-21▸com▸andor▸布局⑶▸橋▸密集▸設置ConfigGenerator.java

所以說,你可能沒有直接訪問權限使用這個專有的avd定義。 但也許,您可以創建一個腳本並使用此文件作為基線來構建在頂層並從您自己的解決方案派生。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM