当system分区预制过多apk时假设img size超过2G 在make otapackage时会报例如以下错误
 zipfile.LargeZipFile: Zipfile size would require ZIP64 extensions
in writestr zinfo.CRC = crc32(bytes) & 0xffffffff # CRC-32 checksum OverflowError: size does not fit in an int

//http://blog.csdn.net/sergeycao

这是因为python 2.7 脚本限制
參考/prebuilts/python/linux-x86/2.7.5/lib/python2.7/
ZIP64_LIMIT = (1 << 31) - 1       (31bits相当于2G)
 
python 3.0+ 已提供solution,  但眼下Android 编译环境使用2.x 语法与 3.0不兼容
对此google提供一个workaround solution
參考下面网址有提供具体patch内容
https://android-review.googlesource.com/#/c/142984 
(但此方法占时提高write size 到32bits相当于4G, 假设超过4G仍会出现故障)
 
另外还需改动一下脚本  build/tool/releasetools/
1、sign_target_files_apks

2、replace_img_from_target_files.py 

3、ota_from_target_files

4、img_from_target_files.py 

5 、img_from_target_files

6、common.py 

7、add_img_to_target_files
针对全部zipfile.ZipFile  加入最后 allowZip64=True 參数值
ex:
原始文件:
output_zip = zipfile.ZipFile(filename, "a", compression=zipfile.ZIP_DEFLATED) 

改动为:
output_zip = zipfile.ZipFile(filename, "a", compression=zipfile.ZIP_DEFLATED, allowZip64=True)

最新文章

  1. ListView加checkBox可以实现全选等功能
  2. Xcode相关整理
  3. mysql下将分隔字符串转换为数组
  4. Kali Linux渗透测试实战 1.2 环境安装及初始化
  5. CLR via C#(18)——Enum
  6. IE6/7常用的hack
  7. Unity中小地图做法
  8. ssh ip &quot;WARING:REMOTE HOST IDENTIFICATION HAS CHANGED!&quot;
  9. 2016 - 1- 22 HTTP(三)
  10. sql2008“备份集中的数据库备份与现有数据库不同”解决方法
  11. (转 部分修改) IOS 手势密码(简单版)
  12. Test for open live write
  13. C++ STD inner_product函数
  14. okHttp基础用法
  15. SpringBoot + Spring Security 学习笔记(二)安全认证流程源码详解
  16. Linux新增和删除环境变量
  17. 分析hello1项目里面的web.xml
  18. 第4章 ext文件系统机制原理剖析
  19. Azure Ubuntu18.04安装lxde桌面记录,Windows远程连接Ubuntu18.04(Linux)
  20. GDB高级调试

热门文章

  1. [51Nod]NOIP2018提高组省一冲奖班模测训练(三) 题解
  2. 39.Node.js域名解析---DNS模块
  3. 2.Maven之(二)Maven生命周期
  4. Linux系统存储交换机日志
  5. POJ 3252 Round Numbers(组合数学)
  6. LeetCode 136 Single Number(仅仅出现一次的数字)
  7. java / C++ B+树代码
  8. java初始化过程中成员变量
  9. sql查看依赖关系
  10. python学习三:列表,元组