1

我想创建 C++ 可执行文件以在 Android 手机上通过 ADB 闪存 ROM,有人可以帮我吗?我有 C++ 的基本知识,但不明白我应该从哪里开始逻辑是初始化头文件-->初始化 ADB 服务-->启动 ADB shell-->使用 flash_image 二进制刷新 .img 文件--> ADB 重启

谁能给我一个闪烁启动映像的简单示例?我不知道应该包含哪些头文件,应该使用哪个编译器。创建了一个新线程,因为我没有找到任何关于此的内容

谢谢

4

1 回答 1

1

adb与刷机无关,adb 是调试器接口,需要在手机上启动并运行系统。尝试使用完全运行的系统重新刷新 ROM 映像就像在没有麻醉的情况下进行心脏手术一样。

正确刷新 ROM 映像有两种基本方法:

  1. 更新.zip
  2. 快速启动

前一种是当您将 ROM 映像作为update.zip复制/下载到 sdcard 中,然后使用恢复来更新系统。这通常涉及用户按下一些按钮并关闭和重新打开手机。这是最好的方法,因为更新文件已经安全地存储在sdcard上,可以检查验证,手机变砖的可能性微乎其微。

第二个是当您将手机连接到 PC 时,使用“adb reboot bootloader”(或关闭/打开并按住一些按钮)将其切换到 fastboot 模式,然后使用fastboot执行 ROM 更新魔法。问题是,使用 fastboot 时,您需要一个非常可靠的 USB 连接。任何通信错误,手机都会变砖。这就是为什么我不使用也不推荐使用 fastboot 方法来刷新 ROM。

如果您不介意使用 fastboot 方法将手机变砖,那么 C++ 程序将非常简单。

  1. 在某处解压缩 ROM 映像(如果您将其打包在程序中)
  2. 发出 exec() 或 system() 调用以运行“adb reboot bootloader”,然后是“fastboot flash*”命令,最后是“fastboot reboot”
  3. 如果您已正确完成所有操作(捕获并处理 adb 和 fastboot 的输出以检查结果),您的设备将重新刷新并重新启动。

最后,我想再次强调一下,使用 fastboot 重新刷新 ROM 非常危险,我建议尽可能避免使用它。

于 2012-04-19T02:45:08.477 回答