android 6.0 系统:在make otapackage时,出现如下错误:

unable to load device-specific module; assuming none
using prebuilt recovery.img from IMAGES...
using system.img from target-files
Traceback (most recent call last):
File "./build/tools/releasetools/ota_from_target_files", line 1719, in <module>
main(sys.argv[1:])
File "./build/tools/releasetools/ota_from_target_files", line 1674, in main
WriteFullOTAPackage(input_zip, output_zip)
File "./build/tools/releasetools/ota_from_target_files", line 610, in WriteFullOTAPackage
system_tgt = GetImage("system", OPTIONS.input_tmp, OPTIONS.info_dict)
File "./build/tools/releasetools/ota_from_target_files", line 496, in GetImage
return sparse_img.SparseImage(path, mappath, clobbered_blocks)
File "/home/guofengwan/workspace/rdadroid-6.0/build/tools/releasetools/sparse_img.py", line 50, in __init__
raise ValueError("Magic should be 0xED26FF3A but is 0x%08X" % (magic,))
ValueError: Magic should be 0xED26FF3A but is 0x23494255

make: *** [out/target/product/etau-Lensun_R635D_8810P/etau-ota-eng.guofengwan.zip] Error 1


经过查看打包脚本的py代码,分析出在build/core/Makefile中

@echo "Package OTA: $@"
$(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \
./build/tools/releasetools/ota_from_target_files -v \
- --block \

加了这个block参数导致了对Magic的检查,进而出现了错误,去掉此参数后,编译通过,那么此参数的作用是什么呢?见如下文章,http://blog.csdn.net/huangyabin001/article/details/44871481


Android5.x及其之后的版本都可以使用模块式OTA来保证每个设备使用相同的分区。模块式OTA把整个分区作为一个文件并且生成一个二进制补丁,而不是对比每个文件生成对应的很多个补丁。

模块式OTA升级的开关就是--block参数。





更多相关文章

  1. android 我的功能模块模板布局之一
  2. android LayoutInflater.inflate()的参数及其功能
  3. react-native调用Android原生模块
  4. appium启动APP配置参数:
  5. android 编译模块
  6. android中AudioRecord采集音频的参数说明
  7. Android 编译 product 分区
  8. Android Jetpack应指南学习笔记8——Navigation(二)使用safe arg

随机推荐

  1. Android四种Activity的加载模式
  2. JavaScript 通过native.js 调用Android原
  3. [Android] 获取Android设备的唯一识别码|
  4. android 反汇编,修改,重新打包
  5. Units of Measurement Supported by Andr
  6. Android(安卓)cocos2d-x开发(三)之创建Andr
  7. android常用控件应用之文本框(TextView)特
  8. 如何启动Android(安卓)SDK 1.5模拟器
  9. Android(安卓)Studio 默认keystore 以及
  10. android 获取文件夹、文件的大小 以B、KB