CN104484217A - 分区配比编译适配方法 - Google Patents
分区配比编译适配方法 Download PDFInfo
- Publication number
- CN104484217A CN104484217A CN201410851711.XA CN201410851711A CN104484217A CN 104484217 A CN104484217 A CN 104484217A CN 201410851711 A CN201410851711 A CN 201410851711A CN 104484217 A CN104484217 A CN 104484217A
- Authority
- CN
- China
- Prior art keywords
- proportioning
- size
- compilation
- compiling
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明揭示了一种分区配比编译适配方法,包括:判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;步骤S3.编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;步骤S4.跳过不必要编译代码,重新编译分区相关编译步骤;步骤S5.编译完成;判断是否需要自适应最佳配比方案;若需要则获取存放文件大小,根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;跳过不必要编译代码,重新编译分区相关编译步骤。本发明可根据客户出厂版本预置在手机内的资源不同,自适应选择最佳的配比分区大小,在手机刷机时,进行自适应分区配置。
Description
技术领域
本发明属于手机技术领域,涉及一种分区方法,尤其涉及一种分区配比编译适配方法。
背景技术
当前智能机发展很膨胀,客户项目愈发繁多,每个客户都希望自己的手机内存尽量大,而通常客户所理解的内存一直是硬件配置的内存,并没有预留给手机操作系统等存放的空间,而目前代码编译刷机包中的内存分区配置,都是提前划出,在手机下载时就已经规划确定了,后期无法调整,除非重新刷机。而配置的这个分区,都是由工程师自行提前设置的,而不同的客户放置在系统区的文件可能会不同,统一的提前分区并不合理。
有鉴于此,如今迫切需要设计一种新的分区方式,以便克服现有分区方式的上述缺陷。
发明内容
本发明所要解决的技术问题是:提供一种分区配比编译适配方法,可根据客户出厂版本预置在手机内的资源不同,自适应选择最佳的配比分区大小,在手机刷机时,进行自适应分区配置。
为解决上述技术问题,本发明采用如下技术方案:
一种分区配比编译适配方法,所述方法包括:
步骤S1、开始正常编译;
步骤S2、判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;
步骤S3、编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;所述最佳配比是指根据不同的平台,计算出来的经验值,转换公式,包括预留一定空间给系统升级,预留一定空间给代码运行,预留一定flash块空间留给版本;通过给定一个较大的打包镜像空间,来将镜像文件打包出来,获取镜像文件大小,然后再将此大小转换为在内存空间分布需要的大小;即:获取镜像文件大小,转换为byte,加上10M预留给OTA升级的空间,配置进去即可;
步骤S4、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S5、编译完成;判断是否需要自适应最佳配比方案;若需要则转至步骤S6,否则转至步骤S9;
步骤S6、获取存放文件大小;
步骤S7、根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S8、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S9、生成版本。
一种分区配比编译适配方法,所述方法包括:
步骤S1、开始正常编译;
步骤S2、判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;
步骤S3、编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S4、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S5、编译完成;判断是否需要自适应最佳配比方案;若需要则转至步骤S6,否则转至步骤S9;
步骤S6、获取存放文件大小;
步骤S7、根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S8、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S9、生成版本。
作为本发明的一种优选方案,步骤S3中,所述最佳配比是指根据不同的平台,计算出来的经验值,转换公式,包括预留一定空间给系统升级,预留一定空间给代码运行,预留一定flash块空间留给版本。
作为本发明的一种优选方案,步骤S3中,通过给定一个较大的打包镜像空间,来将镜像文件打包出来,获取镜像文件大小,然后再将此大小转换为在内存空间分布需要的大小;即:获取镜像文件大小,转换为byte,加上10M预留给OTA升级的空间,配置进去即可。
本发明揭示的最佳分区配比的编译适配方法,包含二次编译,以确保计算出来的最佳配比更好的切合到编译结果。
所述自行篡改的编译脚本是指省略掉与内存分区无关的一些编译占用时间,如编译环境监测,编译客户资源卷出等等,节约时间。所述编译脚本是由makefile文件组成,使用shell脚本进行配合。
所述根据生成的需要烧录到手机内的文件大小,文件大小使用linux环境下的环境命令来列出相应的文件大小。所述编译出文件大小,文件的搜索方式是根据烧录表格(scatter.txt),进行文件匹配捕捉的。为了加快编译速度,使用了ccache(预存池)的编译方式,第一遍编译将.h文件的导入进行了备份。为了加快二次性编译速度,对编译总比较耗时的对文件的搜索,等动作可以备份的,在第一编译进行了备份便于二次编译直接使用。
本发明的有益效果在于:本发明提出的分区配比编译适配方法,可根据客户出厂版本预置在手机内的资源不同,自适应选择最佳的配比分区大小,在手机刷机时,进行自适应分区配置。
附图说明
图1为本发明分区配比编译适配方法的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明揭示了一种分区配比编译适配方法,通过编译脚本控制调整代码编译机制,来达到自适应不同客户需求预置资源的,最佳空间配比方案,首先开始正常编译,按照通用的编译方法进行版本代码编译。请参阅图1,所述分区配比编译适配方法包括如下步骤:
步骤S1、开始正常编译;
步骤S2、判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;
步骤S3、编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;所述最佳配比是指根据不同的平台,计算出来的经验值,转换公式,包括预留一定空间给系统升级,预留一定空间给代码运行,预留一定flash块空间留给版本。
本实施例中,通过给定一个较大的打包镜像空间,来将镜像文件打包出来,获取镜像文件大小,然后再将此大小转换为在内存空间分布需要的大小;即:获取镜像文件大小,转换为byte,加上10M预留给OTA升级的空间,配置进去即可。
步骤S4、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S5、编译完成;判断是否需要自适应最佳配比方案;若需要则转至步骤S6,否则转至步骤S9;
步骤S6、获取存放文件大小;
步骤S7、根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S8、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S9、生成版本。
实施例二
本发明通过编译脚本控制调整代码编译机制,来达到自适应不同客户需求预置资源的,最佳空间配比方案,首先开始正常编译,按照通用的编译方法进行版本代码编译。
其次,在编译过程中出现的三种情况分别做了对应的处理,第一种情况,编译报错,资源不够的错误,在记录日志(android.log)中可以搜寻到关键字leb_cnt too low(1024(256M)need)(内存块不够,需要1024个块同256M空间),根据此数据修改,内存分区配比表中的配比为256,然后使用自行篡改的编译脚本,省略不必要的与内存分区无关的编译步骤脚本进行编译,加快二次编译速度。
第二种情况,就是编译通过,但是在判断是否需要自适应配比内存最佳分区时,客户选择的是不需要,则直接结束,生成版本。
第三种情况,是关键之处,即使在编译通过的情况下,仍然需要对编译的结果,进行一次check,check是否是最佳的内存分区状态,若不是,则根据生成的需要烧录到手机内的文件大小,进行适配大小计算,修改分区表中的配比为相应的最佳配比,进行二次型编译,同样适用省略与分区无关的编译。
实施例三
本实施例与实施例一的区别在于,本实施例中,步骤S3中,使用的是MTK平台,经验公式是,预留空间给系统升级10M,代码运行空间是指data区50M,再加上flash块空间给版本即第一遍预编译出来的系统镜像大小,以此为标准配置分区表,data区配置为预编译出来的data.img大小+50M,android系统区配置为预编译出来的system.img大小+10M。
综上所述,本发明提出的分区配比编译适配方法,可根据客户出厂版本预置在手机内的资源不同,自适应选择最佳的配比分区大小,在手机刷机时,进行自适应分区配置。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (4)
1.一种分区配比编译适配方法,其特征在于,所述方法包括:
步骤S1、开始正常编译;
步骤S2、判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;
步骤S3、编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;所述最佳配比是指根据不同的平台,计算出来的经验值,转换公式,包括预留一定空间给系统升级,预留一定空间给代码运行,预留一定flash块空间留给版本;通过给定一个较大的打包镜像空间,来将镜像文件打包出来,获取镜像文件大小,然后再将此大小转换为在内存空间分布需要的大小;即:获取镜像文件大小,转换为byte,加上10M预留给OTA升级的空间,配置进去即可;
步骤S4、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S5、编译完成;判断是否需要自适应最佳配比方案;若需要则转至步骤S6,否则转至步骤S9;
步骤S6、获取存放文件大小;
步骤S7、根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S8、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S9、生成版本。
2.一种分区配比编译适配方法,其特征在于,所述方法包括:
步骤S1、开始正常编译;
步骤S2、判断资源分区配比是否不足够;若不足够则转至步骤S3,否则转至步骤S5;
步骤S3、编译报错,判断报错内存需要的空间大小;根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S4、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S5、编译完成;判断是否需要自适应最佳配比方案;若需要则转至步骤S6,否则转至步骤S9;
步骤S6、获取存放文件大小;
步骤S7、根据文件大小以及最佳配比算法计算出篡改方案,篡改内存分区配比参数;
步骤S8、跳过不必要编译代码,重新编译分区相关编译步骤;转至步骤S9;
步骤S9、生成版本。
3.根据权利要求2所述的分区配比编译适配方法,其特征在于:
步骤S3中,所述最佳配比是指根据不同的平台,计算出来的经验值,转换公式,包括预留一定空间给系统升级,预留一定空间给代码运行,预留一定flash块空间留给版本。
4.根据权利要求2所述的分区配比编译适配方法,其特征在于:
步骤S3中,通过给定一个较大的打包镜像空间,来将镜像文件打包出来,获取镜像文件大小,然后再将此大小转换为在内存空间分布需要的大小;即:获取镜像文件大小,转换为byte,加上10M预留给OTA升级的空间,配置进去即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410851711.XA CN104484217B (zh) | 2014-12-31 | 2014-12-31 | 分区配比编译适配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410851711.XA CN104484217B (zh) | 2014-12-31 | 2014-12-31 | 分区配比编译适配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484217A true CN104484217A (zh) | 2015-04-01 |
CN104484217B CN104484217B (zh) | 2017-11-28 |
Family
ID=52758761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410851711.XA Active CN104484217B (zh) | 2014-12-31 | 2014-12-31 | 分区配比编译适配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484217B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242941A (zh) * | 2015-09-14 | 2016-01-13 | 广东小天才科技有限公司 | 烧录方法及装置 |
CN108044621A (zh) * | 2017-09-20 | 2018-05-18 | 广东拓斯达科技股份有限公司 | 一种计算机可读存储介质和应用该介质的机器人 |
CN117806684A (zh) * | 2024-01-11 | 2024-04-02 | 深圳创元智能软件科技有限公司 | 安卓版本更新方法、装置、设备及存储介质 |
CN117806684B (zh) * | 2024-01-11 | 2024-05-31 | 深圳创元智能软件科技有限公司 | 安卓版本更新方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237412A (zh) * | 2008-01-22 | 2008-08-06 | 张建中 | 一种分组的交付和路由选择的方法和装置以及系统 |
CN102567051A (zh) * | 2011-12-14 | 2012-07-11 | 中标软件有限公司 | 一种制备龙芯平台图形化安装系统的方法及装置 |
CN102880498A (zh) * | 2012-09-13 | 2013-01-16 | 深圳市佳创软件有限公司 | 在安卓系统的装置上虚拟sd卡的方法 |
CN104182255A (zh) * | 2014-08-20 | 2014-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种系统应用的库文件升级方法及终端 |
-
2014
- 2014-12-31 CN CN201410851711.XA patent/CN104484217B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237412A (zh) * | 2008-01-22 | 2008-08-06 | 张建中 | 一种分组的交付和路由选择的方法和装置以及系统 |
CN102567051A (zh) * | 2011-12-14 | 2012-07-11 | 中标软件有限公司 | 一种制备龙芯平台图形化安装系统的方法及装置 |
CN102880498A (zh) * | 2012-09-13 | 2013-01-16 | 深圳市佳创软件有限公司 | 在安卓系统的装置上虚拟sd卡的方法 |
CN104182255A (zh) * | 2014-08-20 | 2014-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种系统应用的库文件升级方法及终端 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242941A (zh) * | 2015-09-14 | 2016-01-13 | 广东小天才科技有限公司 | 烧录方法及装置 |
CN105242941B (zh) * | 2015-09-14 | 2019-03-08 | 广东小天才科技有限公司 | 烧录方法及装置 |
CN108044621A (zh) * | 2017-09-20 | 2018-05-18 | 广东拓斯达科技股份有限公司 | 一种计算机可读存储介质和应用该介质的机器人 |
CN117806684A (zh) * | 2024-01-11 | 2024-04-02 | 深圳创元智能软件科技有限公司 | 安卓版本更新方法、装置、设备及存储介质 |
CN117806684B (zh) * | 2024-01-11 | 2024-05-31 | 深圳创元智能软件科技有限公司 | 安卓版本更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104484217B (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649771B (zh) | 数据库的数据模型更新方法和系统 | |
CN103761087B (zh) | 一种移动应用程序跨平台开发方法及装置 | |
CN106055334B (zh) | 代码管理系统及方法 | |
CN109324799A (zh) | 一种代码编译方法、计算机装置及计算机可读存储介质 | |
CN103077022B (zh) | 一种作业流程可视化的作业配置方法和装置 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
CN104301338A (zh) | 基于云平台的应用系统自动部署方法 | |
CN106250148A (zh) | 一种基于ant的项目差量升级方法 | |
CN111008007A (zh) | 组件开发方法、系统、存储介质及处理器 | |
CN110515625A (zh) | 任务构建方法、装置、设备及计算机可读存储介质 | |
CN104484217A (zh) | 分区配比编译适配方法 | |
CN101963911B (zh) | 补丁生成方法和装置 | |
CN104077161A (zh) | 一种客户端应用的升级方法及装置 | |
CN105245382A (zh) | 修改路由器配置信息的方法及装置 | |
CN106325647B (zh) | 一种ui调整方法、装置和移动终端 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN101867941A (zh) | 数据处理方法及网管设备 | |
CN108037929A (zh) | 一种消息处理方法及系统 | |
CN111078213B (zh) | 一种代码生成方法及代码生成装置 | |
CN102193802A (zh) | 具有同基类结构模型子集的模型转换方法 | |
CN105700900A (zh) | 一种优化无线局域网功能的方法及装置 | |
CN109144486B (zh) | 一种无状态化的工作流程实现方法 | |
CN106649081B (zh) | 一种调试运行在客户端应用内离线包的方法及装置 | |
CN103425700A (zh) | 一种核电站模拟机的数据存储、查询及更新方法 | |
CN104834515A (zh) | 目标文件的生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |