make otapackage 素材包太大导致的失败

2024-06-20 06:58

本文主要是介绍make otapackage 素材包太大导致的失败,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

该错误是由于android默认采用的是ZIP,因此当生成素材包的中间文件超出4G则会导致一系列的错误,解决方法可以采用ZIP64。

diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py

index 5a0a411..e2982cd 100755

--- a/tools/releasetools/add_img_to_target_files.py

+++ b/tools/releasetools/add_img_to_target_files.py

@@ -334,7 +334,7 @@ def AddImagesToTargetFiles(filename):

 

   common.ZipClose(input_zip)

   output_zip = zipfile.ZipFile(filename, "a",

-                               compression=zipfile.ZIP_DEFLATED)

+                               compression=zipfile.ZIP_DEFLATED, allowZip64=True)

 

   has_recovery = (OPTIONS.info_dict.get("no_recovery") != "true")

 

diff --git a/tools/releasetools/img_from_target_files.py b/tools/releasetools/img_from_target_files.py

index 84e0e63..bd72337 100755

--- a/tools/releasetools/img_from_target_files.py

+++ b/tools/releasetools/img_from_target_files.py

@@ -70,7 +70,7 @@ def main(argv):

     sys.exit(1)

 

   OPTIONS.input_tmp, input_zip = common.UnzipTemp(args[0])

-  output_zip = zipfile.ZipFile(args[1], "w", compression=zipfile.ZIP_DEFLATED)

+  output_zip = zipfile.ZipFile(args[1], "w", compression=zipfile.ZIP_DEFLATED, allowZip64=True)

   CopyInfo(output_zip)

 

   try:

diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py

index c7a6a34..e1bd62d 100755

--- a/tools/releasetools/ota_from_target_files.py

+++ b/tools/releasetools/ota_from_target_files.py

@@ -1243,7 +1243,7 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file,

   # Stage the output zip package for package signing.

   temp_zip_file = tempfile.NamedTemporaryFile()

   output_zip = zipfile.ZipFile(temp_zip_file, "w",

-                               compression=zipfile.ZIP_DEFLATED)

+                               compression=zipfile.ZIP_DEFLATED, allowZip64=True)

 

   # Metadata to comply with Android OTA package format.

   oem_props = OPTIONS.info_dict.get("oem_fingerprint_properties", None)

@@ -2131,11 +2131,11 @@ def main(argv):

     if os.path.exists(args[1]):

       os.unlink(args[1])

     output_zip = zipfile.ZipFile(args[1], "w",

-                                 compression=zipfile.ZIP_DEFLATED)

+                                 compression=zipfile.ZIP_DEFLATED, allowZip64=True)

   else:

     temp_zip_file = tempfile.NamedTemporaryFile()

     output_zip = zipfile.ZipFile(temp_zip_file, "w",

-                                 compression=zipfile.ZIP_DEFLATED)

+                                 compression=zipfile.ZIP_DEFLATED, allowZip64=True)

 

   # Non A/B OTAs rely on /cache partition to store temporary files.

   cache_size = OPTIONS.info_dict.get("cache_size", None)

-- 


这篇关于make otapackage 素材包太大导致的失败的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1077424

相关文章

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

DAY16:什么是慢查询,导致的原因,优化方法 | undo log、redo log、binlog的用处 | MySQL有哪些锁

目录 什么是慢查询,导致的原因,优化方法 undo log、redo log、binlog的用处  MySQL有哪些锁   什么是慢查询,导致的原因,优化方法 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 导致的原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

71-java 导致线程上下文切换的原因

Java中导致线程上下文切换的原因通常包括: 线程时间片用完:当前线程的时间片用完,操作系统将其暂停,并切换到另一个线程。 线程被优先级更高的线程抢占:操作系统根据线程优先级决定运行哪个线程。 线程进入等待状态:如线程执行了sleep(),wait(),join()等操作,使线程进入等待状态或阻塞状态,释放CPU。 线程占用CPU时间过长:如果线程执行了大量的I/O操作,而不是CPU计算

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后