android 5.x system.img 大于2G导致编译otapackage时报错如何处理
2015-07-07 20:08
555 查看
当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)
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)
相关文章推荐
- android5.x添加sim1,sim2标识
- Android studio学习和gradle学习列表
- kernel logo到开机动画之间闪现黑屏(android 5.X)
- Android系统启动流程
- android 通知基础
- 初学_Android4高级编程-6 Intent Filiter &Broadcast Receiver
- 初学_Android4高级编程-5 Intent&Broadcast
- Android编译输出 资源指定AAPT
- android studio 使用细节
- Android各个support library特征和区别(官方文档)
- android源码使用proguard混淆编译及错误总结
- Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项
- 从头学起android<android基本的绘图.四十六.>
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- Android入门(32)——第九章 Fragment与Activity通信
- android中HorizontalScrollView实现viewpager的效果
- Android NDK编程浅入深出之--域和方法的操作
- Android ListView滑动后背景变黑问题解决方法
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- Android至ViewPager添加切换动画——使用属性动画