繁体   English   中英

如何为闪存ROM创建C ++可执行文件?

[英]How to create C++ executables for flashing ROMs?

我想创建C ++可执行文件以通过android手机上的ADB刷新ROM,有人可以帮我吗? 我具有C ++的基本知识,但无法理解应该从哪里开始。逻辑是初始化头文件->初始化ADB服务->启动ADB Shell->使用flash_image二进制文件刷新.img文件-> ADB重新启动

谁能给我一个简单的示例来刷新启动映像? 我不知道应该包含哪些头文件,应该使用哪个编译器。 创建了一个新线程,因为我对此一无所获

谢谢

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

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

  1. update.zip
  2. FASTBOOT

前一种是当您将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是非常危险的,我建议尽可能避免这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM