可以将设备ROM刷入AVD模拟器或Genymotion吗?

11

我正在解决Android开发中的兼容性问题,我的安卓应用在某些罕见设备的ROM上崩溃了。此ROM已修改了一些框架(app.widget)代码,导致了崩溃。

我想在没有该设备情况下自己复现这个崩溃。我没有该设备,并且不能轻易地获得正确的设备,除了二手市场。

但是,我可以从设备的论坛下载ROM(system.img、userdata.img)。我能直接将ROM刷到AVD或Genymotion吗?有什么指南来实现这一点吗?


3
我可以。我觉得不行,毕竟模拟器不是硬件,ROM内的硬件驱动程序期望与硬件配合使用。 - CommonsWare
不要试图先复制,而是看看具体的错误是什么? - Jonas Köritz
@JonasKöritz 这是一个ROM特定的bug,因为ROM的框架代码(TextView stuff)与普通代码略有不同。我的自定义TextView扩展了TextView,在一系列操作中会导致选择逻辑崩溃。我已经找到了崩溃原因,并使用反射在ROM中防止了它,通过转储ROM的框架代码将其映射到异常堆栈。 - Gohan
1个回答

0
简单的回答是:不行。设备ROM完全是针对特定设备的。Genymotion运行在x86(您的计算机)上,这在大多数情况下与您的设备架构不同。即使您可以将其“刷入”到genymotions的“Flash-Storage”中,也没有任何可执行文件,包括内核和引导加载程序能够启动。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接