命令行的Android模拟器具有奇怪的分辨率

时间:2017-04-25 15:25:48

标签: android testing android-emulator android-espresso

我通过此命令从终端创建用于Espresso测试的Android模拟器:

./avdmanager create avd -n TestEmulator1 -k "system-images;android-25;google_apis;x86_64" -c 2000M --tag "google_apis" --device "Nexus 5X"

然而,当我运行模拟器时,分辨率确实关闭

enter image description here

当我在Android Studio的AVD Manager中查看它时,看起来设置是正确的。我的命令中是否有遗漏导致此问题的原因?它导致我的所有测试在运行时失败。谢谢!

4 个答案:

答案 0 :(得分:2)

添加您需要的皮肤分辨率:

./avdmanager create avd -n TestEmulator1 -k "system-images;android-25;google_apis;x86_64" -c 2000M --tag "google_apis" --device "Nexus 5X"

./emulator -avd TestEmulator1 -no-window -skin 768x1280 &

或者试试这样的事情(-s "768x1280")是否仍适用于新的avdmanager

android create avd --force -n nexus4-emulator -t "Google Inc.:Google APIs:"$EMULATOR_VERSION --abi $ANDROID_ABI -s "768x1280" --device "Nexus 4" -c 128M

有关尺寸合适here的模拟器的更多信息。

答案 1 :(得分:1)

我遇到了这个问题,并通过emulator命令行参数将所需的分辨率传递给-skin "1440x2560"对我有用。

我个人试图创建一个" Pixel XL"虚拟设备。我曾希望Android SDK可以“只知道”#34;该设备应该运行什么分辨率,但显然不是。所以我用谷歌搜索了该设备应该具有的分辨率,并通过-skin传递,现在我满意(足够)。

答案 2 :(得分:0)

-skin选项现在为deprecated

尝试使用hw.lcd.widthhw.lcd.heighthw.lcd.depth来设置avd/<avd_name>/config.ini内部的屏幕分辨率。为我工作。

此处列出了受支持的选项:https://android.googlesource.com/platform/external/qemu/+/refs/heads/master/android/avd/hardware-properties.ini

答案 3 :(得分:0)

-d 似乎解决了这个问题

-d --device : The optional device definition to use. Can be a device index or id.

示例:

.\avdmanager.bat create avd -n "API-24-Nougat-7.0" -k "system-images;android-27;google_apis_playstore;x86" -d 8

来自 d 8

.\avdmanager.bat list 是 Nexus 5,因此分辨率变为 1080x1920