一种安卓设备资源id分段分配方法和系统的制作方法

文档序号:6383455阅读:171来源:国知局
专利名称:一种安卓设备资源id分段分配方法和系统的制作方法
技术领域
本发明涉及安卓设备资源ID分配技术,更具体地说,涉及一种安卓设备资源ID分段分配方法和系统。
背景技术
安卓系统是一种开源智能手机系统,厂商都可以按自己的需求进行修改或定制。安卓设备可以为原生系统资源中的固定资源先分配固定的ID,再为未固定资源分配其它未分配的ID。这些ID是连续的。当厂商新增系统资源时,安卓设备也会为这些新增的系统资源中的固定资源分配固定的ID,未固定资源分配其它未分配的ID。然而,安卓设备在为原生的安卓固定资源和新增固定资源分配时都在安卓设定的ID段内进行分配,而不会所有区别,这样导致安卓系统在升级时,可能由于升级获得的安卓固定资源的ID与已经配备给新增固定资源的ID相重合,进而需要厂商调整所新增固定资源的ID值。这样厂商新增固定资源的应用就得重新进行编译适配工作。

发明内容
本发明要解决的技术问题在于,针对现有安卓设备资源ID可能在升级时重合导致厂商需要调整新增固定资源ID的缺陷,提供一种安卓设备资源ID分段分配方法和系统,通过将厂商的新增固定资源与原生的安卓固定资源设置在不同的ID段,使其不会产生重

口 o本发明解决其技术问题所采用的技术方案是构造一种安卓设备资源ID分段分配方法,包括以下步骤在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断所述配置文件中是否包含分段固定标识,是则判定该资源为固定资源,否则判定该资源为未固定资源;在判定为固定资源时,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段;在判定为未固定资源时,为该未固定资源分配未分配的ID值。在根据本发明所述的安卓设备资源ID分段分配方法中,所述方法还包括预先执行的以下步骤在安卓固定资源的配置文件中写入分段固定标识以及位于所述安卓ID段内的固定ID值,在新增固定资源的配置文件中写入分段固定标识以及位于所述厂商ID段内的固定ID值。在根据本发明所述的安卓设备资源ID分段分配方法中,所述厂商ID段与所述安卓ID段连续。在根据本发明所述的安卓设备资源ID分段分配方法中,所述安卓ID段为0-30000,厂商 ID 段为 30001-65535。在根据本发明所述的安卓设备资源ID分段分配方法中,所述厂商ID段与所述安卓ID段间隔预留ID段。本发明还提供了一种安卓设备资源ID分段分配系统,包括资源判断单元,用于在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断所述配置文件中是否包含分段固定标识,是则判定该资源为固定资源,否则判定该资源为未固定资源;固定资源分配单元,用于接收所述资源判断单元的判定结果,在判定为固定资源时,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段;未固定资源分配单元,用于接收所述资源判断单元的判定结果,在判定为未固定资源时,为该未固定资源分配未分配的ID值。在根据本发明所述的安卓设备资源ID分段分配系统中,所述系统还包括配置文件编辑单元用于在安卓固定资源的配置文件中写入分段固定标识以及位于所述安卓ID段内的固定ID值,在新增固定资源的配置文件中写入分段固定标识以及位于所述厂商ID段内的固定ID值。在根据本发明所述的安卓设备资源ID分段分配系统中,所述厂商ID段与所述安卓ID段连续。在根据本发明所述的安卓设备资源ID分段分配系统中,所述安卓ID段为0-30000,厂商 ID 段为 30001-65535。在根据本发明所述的安卓设备资源ID分段分配系统中,所述厂商ID段与所述安卓ID段间隔预留ID段。实施本发明的安卓设备资源ID分段分配方法和系统,具有以下有益效果本发明通过对固定资源的ID进行分段设置,为新增固定资源设置新的ID取值范围,而不占用安卓后续版本资源的ID值,进而在安卓版本升级后应用不需要因ID变化进行重新适配工作,节省适配修改时间,提高开发效率和版本兼容性。


下面将结合附图及实施例对本发明作进一步说明,附图中图1为根据本发明优选实施例的安卓设备资源ID分段分配方法流程图;图2为根据本发明的优选实施例的安卓设备资源ID分段分配系统的模块示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。请参阅图1,为根据本发明优选实施例的安卓设备资源ID分段分配方法流程图。如图1所示,本发明提供的安卓设备资源ID分段分配方法,至少包括以下步骤首先,在步骤SlOl中开始;
随后,在步骤S102中,在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断该配置文件中是否包含分段固定标识,是则判定该资源为固定资源转步骤S103,否则判定该资源为未固定资源转步骤S104。本发明可以采用安卓辅助打包工具(APPT)进行编译。APPT编译器读取资源的资源文件进行编译,并识别其中配置文件是否包含分段固定标识。随后,在步骤S103中,在判定为固定资源时,根据该配置文件中记载的固定编码(ID)值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且该厂商ID段与该安卓ID段为相互独立的ID段。本发明中所涉及的安卓固定资源是指安卓设备的原生的安卓系统资源中的固定资源。新增固定资源是指厂商的新增系统资源中的固定资源。本发明在确定检测到分段固定标识时,确定该资源为固定资源,需要分配固定的ID,因此提取该资源对应的配置文件中记载的固定ID值,然后为其配置该固定ID。该固定ID是预先写入配置文件中的。并且,安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内。例如每种资源的ID取值范围是0x0000到OxfffT,即0-65535。目前,安卓系统资源是默认是从0开始分配的。因此,本发明可以选定其中一段为安卓ID段,例如0-30000。该安卓ID段可以根据经验设定,一般为现有版本安卓系统所采用的ID取值范围加上预留给升级的安卓系统资源的ID取值范围。也就是说本发明采用的厂商ID段不会与现有版本安卓系统所采用的ID取值范围重叠,也不会与升级的安卓系统资源的ID取值范围重叠。本发明采用的厂商ID段可以与该安卓ID段连续,例如为30001-65535。该厂商ID段也可以与该安卓ID段间隔预留ID段,例如该厂商ID段为50001-65535,从而将间隔的预留ID段30001-50000给未固定资源进行分配。最后,在步骤S104中,在判定为未固定资源时,为该未固定资源分配未分配的ID值,即在步骤S103中已经分配的固定ID之外的其它ID值。该未固定资源的ID值不是固定设置的,而是在每次编译时都会重新分配新的ID。一般系统每次先对所有固定资源的ID进行分配后,再分配所有未固定资源的ID。未固定资源分配的ID值可以接着前述为安卓固定资源分配的ID值连续分配,也可以接着前述为新增固定资源分配的ID值连续分配。该流程结束于步骤S105。本发明的方法还包括预先执行的以下步骤在安卓固定资源的配置文件中写入分段固定标识以及位于安卓ID段内的固定ID值,例如从0开始分配的ID值。在新增固定资源的配置文件中写入分段固定标识以及位于厂商ID段内的固定ID值。例如,在新增资源A、B、C和D时,由于资源A和B为新增固定资源,则在其各自的资源文件中建立配置文件,并写入分段固定标识以及固定ID值,如在资源A的配置文件中写入固定ID值为30001,在资源B的配置文件中写入固定ID值为30002。而资源C和D为未固定资源,则不写入。当前述步骤S102中判断资源A和B的配置文件中包含分段固定标识,因此判断为固定资源,在步骤S103中根据记录的固定ID值分别为资源A分配ID值为30001,为资源B分配ID值为30002。而步骤S 102中判断资源C和D的配置文件中不包含分段固定标识,因此判断为未固定资源,在步骤S104中为资源C和D分配未分配的ID值,例如20001和20002,或者40001 和 40002。
请参阅图2,为根据本发明的优选实施例的安卓设备资源ID分段分配系统的模块示意图。如图2所示,本发明提供的安卓设备资源ID分段分配系统至少包括资源判断单元201、固定资源分配单元202和未固定资源分配单元203。资源判断单元201用于在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断所述配置文件中是否包含分段固定标识,是则判定该资源为固定资源,否则判定该资源为未固定资源。本发明可以采用安卓辅助打包工具(APPT)进行编译。APPT编译器读取资源的资源文件进行编译,并识别其中配置文件是否包含分段固定标识。固定资源分配单元202与资源判断单元201相连,用于接收该资源判断单元201的判定结果,在判定为固定资源时,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段。本发明中所涉及的安卓固定资源是指安卓设备的原生的安卓系统资源中的固定资源。新增固定资源是指厂商的新增系统资源中的固定资源。本发明在确定检测到分段固定标识时,确定该资源为固定资源,需要分配固定的ID,因此提取该资源对应的配置文件中记载的固定ID值,然后为其配置该固定ID。该固定ID是预先写入配置文件中的。并且,安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内。例如每种资源的ID取值范围是0x0000到OxfffT,即0-65535。目前,安卓系统资源是默认是从0开始分配的。因此,本发明可以选定其中一段为安卓ID段,例如0-30000。该安卓ID段可以根据经验设定,一般为现有版本安卓系统所采用的ID取值范围加上预留给升级的安卓系统资源的ID取值范围。本发明采用的厂商ID段可以与该安卓ID段连续,例如为30001-65535。该厂商ID段也可以与该安卓ID段间隔预留ID段,例如该厂商ID段为50001-65535,从而将间隔的预留ID段30001-50000给未固定资源进行分配。未固定资源分配单元203与资源判断单元201相连,用于接收该资源判断单元201的判定结果,在判定为未固定资源时,为该未固定资源分配未分配的ID值。该未固定资源的ID值不是固定设置的,而是在每次编译时都会重新分配新的ID。一般系统每次先对所有固定资源的ID进行分配后,再分配所有未固定资源的ID。未固定资源分配的ID值可以接着前述为安卓固定资源分配的ID值连续分配,也可以接着前述为新增固定资源分配的ID值连续分配。本发明的安卓设备资源ID分段分配系统还包括配置文件编辑单元,用于在安卓固定资源的配置文件中写入分段固定标识以及位于安卓ID段内的固定ID值,在新增固定资源的配置文件中写入分段固定标识以及位于厂商ID段内的固定ID值。例如,在新增资源A、B、C和D时,由于资源A和B为新增固定资源,配置文件编辑单元在其各自的资源文件中建立配置文件,并写入分段固定标识以及固定ID值,如在资源A的配置文件中写入固定ID值为30001,在资源B的配置文件中写入固定ID值为30002。而资源C和D为未固定资源,则不写入。当前述资源判断单元201判断资源A和B的配置文件中包含分段固定标识,因此判断为固定资源,固定资源分配单元202根据记录的固定ID值分别为资源A分配ID值为30001,为资源B分配ID值为30002。而资源判断单元201判断资源C和D的配置文件中不包含分段固定标识,因此判断为未固定资源,未固定资源分配单元203为资源C和D分配未分配的ID值,例如20001和20002,或者40001和40002。安卓对资源的引用是通过ID进行的,会将具体的ID值编译到具体的代码二进制文件中。在没有改进之前,应用使用自己新增的资源E,如果E为固定资源,则E可能在安卓ID段内,这样有可能安卓版本升级后会占用为E分配的固定ID,这样就得重新调整资源E的ID,那么用到资源E的应用都得重新编译;如果资源E为未固定资源,则参与未固定资源统一进行的ID分配,这样每个编译环境下ID都有可能不一致,这要求每次都要编译一次应用。本发明在改进之后,如果资源E为固定资源则将资源E固定在新的值段,即厂商ID段内,不与安卓ID段重叠,则安卓版本升级后该升级的资源的固定ID值不会占用这个值段,这样每次版本编译资源E的资源ID值都是固定,应用就无需重复没有必要的编译工作。综上所述,本发明为新增固定资源开辟一段新的ID值进行分配,并不会占用安卓后续版本资源的ID值,进而在安卓版本升级后应用不需要因ID变化进行重新适配工作,节省适配修改时间,提高开发效率和版本兼容性。本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。
权利要求
1.一种安卓设备资源ID分段分配方法,其特征在于,包括以下步骤 在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断所述配置文件中是否包含分段固定标识,是则判定该资源为固定资源,否则判定该资源为未固定资源; 在判定为固定资源时,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段; 在判定为未固定资源时,为该未固定资源分配未分配的ID值。
2.根据权利要求1所述的安卓设备资源ID分段分配方法,其特征在于,所述方法还包括预先执行的以下步骤在安卓固定资源的配置文件中写入分段固定标识以及位于所述安卓ID段内的固定ID值,在新增固定资源的配置文件中写入分段固定标识以及位于所述厂商ID段内的固定ID值。
3.根据权利要求1所述的安卓设备资源ID分段分配方法,其特征在于,所述厂商ID段与所述安卓ID段连续。
4.根据权利了要求3所述的所述的安卓设备资源ID分段分配方法,其特征在于,所述安卓ID段为0-30000,厂商ID段为30001-65535。
5.根据权利要求1所述的安卓设备资源ID分段分配方法,其特征在于,所述厂商ID段与所述安卓ID段间隔预留ID段。
6.一种安卓设备资源ID分段分配系统,其特征在于,包括 资源判断单元,用于在对资源的资源文件进行编译时,读取资源文件中的配置文件,并判断所述配置文件中是否包含分段固定标识,是则判定该资源为固定资源,否则判定该资源为未固定资源; 固定资源分配单元,用于接收所述资源判断单元的判定结果,在判定为固定资源时,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段; 未固定资源分配单元,用于接收所述资源判断单元的判定结果,在判定为未固定资源时,为该未固定资源分配未分配的ID值。
7.根据权利要求6所述的安卓设备资源ID分段分配系统,其特征在于,所述系统还包括配置文件编辑单元用于在安卓固定资源的配置文件中写入分段固定标识以及位于所述安卓ID段内的固定ID值,在新增固定资源的配置文件中写入分段固定标识以及位于所述厂商ID段内的固定ID值。
8.根据权利要求6所述的安卓设备资源ID分段分配系统,其特征在于,所述厂商ID段与所述安卓ID段连续。
9.根据权利要求8所述的安卓设备资源ID分段分配系统,其特征在于,所述安卓ID段为 0-30000,厂商 ID 段为 30001-65535。
10.根据权利要求6所述的安卓设备资源ID分段分配系统,其特征在于,所述厂商ID段与所述安卓ID段间隔预留ID段。
全文摘要
本发明涉及一种安卓设备资源ID分段分配方法和系统,该方法包括对资源的资源文件进行编译,读取资源文件中的配置文件,并判断是否包含分段固定标识,是则判定该资源为固定资源,根据该配置文件中记载的固定ID值为其分配该固定ID,其中安卓固定资源的配置文件中记载的固定ID值位于安卓ID段内,新增固定资源的配置文件中记载的固定ID值位于厂商ID段内,且所述厂商ID段与所述安卓ID段为相互独立的ID段;否则判定该资源为未固定资源,为该未固定资源分配未分配的ID值。本发明通过对固定资源的ID进行分段设置,进而在安卓版本升级后应用不需要因ID变化进行重新适配工作,节省适配修改时间,提高开发效率和版本兼容性。
文档编号G06F9/44GK103034492SQ201210521118
公开日2013年4月10日 申请日期2012年12月6日 优先权日2012年12月6日
发明者旦建军, 张寅祥 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1