Android Emulator 在自定义高分辨率下崩溃
Posted
技术标签:
【中文标题】Android Emulator 在自定义高分辨率下崩溃【英文标题】:Android Emulator crashes with custom high resolution 【发布时间】:2019-12-24 21:54:33 【问题描述】:我创建了一个 1125 x 2436 和 5.8" 对角线 (xxhdpi) 的配置文件。在装有 android Studio 3.4.2 的 Windows 10 机器上,2GB RAM Android Q 9+。 其他默认的高分辨率配置文件工作正常。
一旦开始,我在软件和硬件渲染上都会出现以下控制台错误。
6:22 PM Emulator: *** BUG ***
6:22 PM Emulator: In create_bits_image_internal: The expression bits == NULL || (rowstride_bytes % sizeof (uint32_t)) == 0 was false
6:22 PM Emulator: Set a breakpoint on '_pixman_log_error' to debug
6:22 PM Emulator:
6:22 PM Emulator: Process finished with exit code -1073741819 (0xC0000005)
【问题讨论】:
【参考方案1】:我想要一个 2280x1080 和 dpi 411 的模拟器,但模拟器只支持一组固定的 dpi 值。
因此,我根据支持的密度(400dpi)将屏幕尺寸缩放为 1051x2218,但这会导致与上述相同的错误。
emulator: android_hw_fingerprint_init: fingerprint qemud listen service initialized
*** BUG ***
In create_bits_image_internal: The expression bits == NULL || (rowstride_bytes % sizeof (uint32_t)) == 0 was false
Set a breakpoint on '_pixman_log_error' to debug
emulator: emulator_window_fb_rotate
'rowstride bytes' 部分向我建议,宽度需要是 4 个字节的倍数(sizeof uint32)。
所以我将宽度更改为 1052(可被 4 整除)并且错误消失了。
【讨论】:
以上是关于Android Emulator 在自定义高分辨率下崩溃的主要内容,如果未能解决你的问题,请参考以下文章
android SDK- 使用 AVD Manager.exe 创建虚拟机遇到报错 emulator - arm.exe 已停止工作 我的解决方案,记录下
Android TV Emulator:如何创建曲面显示模拟器?
Android Emulator 在 M1 mac/Apple Silicon 上卡住了加载屏幕