是否可以将设备 ROM 闪存到 AVD 模拟器或 genymotion?
Posted
技术标签:
【中文标题】是否可以将设备 ROM 闪存到 AVD 模拟器或 genymotion?【英文标题】:Is it possible to flash a device ROM to a AVD emulator or genymotion? 【发布时间】:2016-05-05 12:18:42 【问题描述】:我正在解决 android 开发的一些兼容性问题,我的 Android 应用程序在一个罕见的设备 ROM 上崩溃了,它修改了一些框架(app.widget)代码导致崩溃。
我想在没有设备的情况下自行重现崩溃,我不拥有设备并且无法轻松获得合适的设备,除了 2 手市场。
但是我可以从设备的论坛(system.img,userdata.img)下载ROM,我可以直接将ROM刷到AVD或Genymotion吗?有什么指南可以实现吗?
【问题讨论】:
"我可以直接将 ROM 刷到 AVD 或 Genymotion 吗?" - 我对此表示怀疑。毕竟,模拟器不是硬件,ROM 中会有硬件驱动程序期望与硬件一起工作。 不是先尝试重现,而是确切的错误是什么? @JonasKöritz 这是 ROM 指定错误,因为 ROM 的框架代码(TextView 的东西)与普通代码略有不同。我的自定义 TextView 扩展了 TextView,会使选择逻辑在指定的一系列操作中崩溃。我已经找到了崩溃的原因,并使用反射在ROM中防止它,通过转储ROM的框架代码找到原因。将其映射到异常堆栈。 【参考方案1】:简单的回答:不,你不能。设备 ROM 完全是设备特定的。 Genymotion 在 x86(您的计算机)上运行,在大多数情况下,它与您的设备的架构不同。即使您可以将此“闪存”到 genymotions“Flash-Storage”,包括内核和引导加载程序在内的任何可执行文件都无法启动。
【讨论】:
以上是关于是否可以将设备 ROM 闪存到 AVD 模拟器或 genymotion?的主要内容,如果未能解决你的问题,请参考以下文章
在 AVD 模拟器中如何查看 sdcard 文件夹并将 APK 安装到 AVD?