解决Android 7.1高通设备install-recovery.sh找不到问题

需积分: 12 0 下载量 50 浏览量 更新于2024-09-03 收藏 2KB TXT 举报
"解决在基于高通芯片的Android 7.1.2设备上进行FOTA ( Firmware Over The Air) 升级时遇到的 'install-recovery.sh file not found' 错误。这个问题通常出现在尝试执行恢复模式安装更新时,由于系统无法找到必要的脚本文件导致。本文提供了一个相对简洁的解决方案,减少了对源代码的修改。 在CSDN上,作者发现并分享了一种更简单的方法来处理这个问题,相比于其他复杂的方法,这个方法涉及的代码改动较少。以下是具体的修复步骤: 1. 首先,作者指出了在`build/core/Makefile`文件中的一个可能的问题点。当`BOARD_USES_FULL_RECOVERY_IMAGE` 和 `BOARD_USES_RECOVERY_AS_BOOT` 都未设置为 `true` 时,系统默认不会生成包含恢复镜像的完整更新包。作者没有详细说明如何设置这些变量,但通常这需要在设备制造商的特定构建配置中进行。 2. 在 `build/core/Makefile` 的 diff 段落中,可以看到作者删除了一行可能不必要的代码,这可能是为了解决某个特定条件下的问题,但具体作用需要结合上下文理解。 3. 更重要的修改是在 Makefile 的末尾添加了一段代码,这段代码在生成更新包时检查是否存在 `system.img` 文件。如果存在,它会将该文件复制到 `INSTALLED_SYSTEMIMAGE` 目录下。这部分可能是为了确保在更新过程中包含系统镜像,因为 `install-recovery.sh` 脚本可能依赖于这个文件。 4. 最后,作者提到了 `MKBOOTIMG` 工具和 `add_img_to_target_files` 脚本,这通常用于创建和管理设备的启动和恢复映像。这些工具在构建过程中被用来生成最终的更新包,确保所有必要的组件都被正确地打包。 通过这些修改,作者成功解决了在Android 7.1.2高通设备上执行FOTA升级时找不到 `install-recovery.sh` 脚本的问题。这种方法可能适用于那些遇到类似问题的开发者或爱好者,他们可以参考此解决方案来修复自己的设备或定制系统。" 请注意,实际应用这个解决方案之前,需要对相关代码有深入理解,并且在具有适当开发环境的设备上进行测试。错误的修改可能会导致设备无法启动或者更新失败。在进行任何修改之前,建议备份原始文件和系统数据。