著录项信息
专利名称 | 一种提供安卓包APK修改服务的方法和装置 |
申请号 | CN201510512525.8 | 申请日期 | 2015-08-19 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-11-18 | 公开/公告号 | CN105068813A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F8/71 | IPC分类号 | G;0;6;F;8;/;7;1查看分类表>
|
申请人 | 北京奇虎科技有限公司;奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 葛山 |
代理机构 | 北京市隆安律师事务所 | 代理人 | 权鲜枝;何立春 |
摘要
本发明提供了一种提供安卓包APK修改服务的方法和装置,方法包括:获取待修改的原始APK,以及获取针对该原始APK的修改指令;对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间。
1.一种提供安卓包APK修改服务的方法,其中,该方法包括:
获取待修改的原始APK,以及获取针对该原始APK的修改指令;
对所述原始APK进行解压缩处理,得到多个文件;
根据所述修改指令对所述多个文件进行修改处理;
将各文件重新进行压缩处理,得到修改后的APK;
其中,所述获取待修改的原始APK包括:
制定通用的APK框架;所述APK框架中包含浏览器内核;
接收用户提供的网址;
将所述用户提供的网址添加到所述APK框架中,封装成所述原始APK;
该方法进一步包括:
提供实现不同功能的多个JS接口;
接收所述用户提供的逻辑功能描述信息;
根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;
将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
2.如权利要求1所述的方法,其中,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
3.如权利要求1所述的方法,其中,所述修改指令中包含多个修改方案;
所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:
根据所述多个修改方案,分别对所述多个文件进行修改处理;
将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
4.如权利要求1所述的方法,其中,所述修改指令包括如下修改指示中的一种或多种;
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示。
5.如权利要求1所述的方法,其中,所述根据所述修改指令对所述多个文件进行修改处理包括:
根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
6.如权利要求1所述的方法,其中,将所述用户提供的网址添加到所述APK框架中包括:
将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
7.如权利要求1所述的方法,其中,该方法进一步包括:
提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
8.如权利要求1所述的方法,其中,
该方法进一步包括:接收用户提供的APK名称和标识图片;
所述封装成所述原始APK包括:封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
9.一种提供安卓包APK修改服务的装置,其中,该装置包括:
获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;
修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK;
原始APK生成单元;所述获取单元适于从该原始APK生成单元获取待修改的原始APK;
该原始APK生成单元包括:
框架定制子单元,适于制定通用的APK框架;所述APK框架中包含浏览器内核;
用户接口子单元,适于接收用户提供的网址;
定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中,封装成原始APK;
所述用户接口子单元,进一步适于接收所述用户提供的逻辑功能描述信息;
所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
10.如权利要求9所述的装置,其中,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
11.如权利要求9所述的装置,其中,
所述获取单元获得的所述修改指令中包含多个修改方案;
所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
12.如权利要求9所述的装置,其中,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种;
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示。
13.如权利要求9所述的装置,其中,
所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
14.如权利要求9所述的装置,其中,
所述定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
15.如权利要求9所述的装置,其中,
所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
16.如权利要求9所述的装置,其中,
所述用户接口子单元,进一步适于接收用户提供的APK名称和标识图片;
所述定制服务子单元,进一步适于封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
一种提供安卓包APK修改服务的方法和装置\n技术领域\n[0001] 本发明涉及应用程序设开发领域,特别涉及一种提供安卓包APK修改服务的方法和装置。\n背景技术\n[0002] 安卓系统作为近年来飞速发展的开源系统,已被广泛应用到智能手机及其他科技产品中,在该系统基础上进行开发的第三方应用程序也呈现出爆炸性的增长趋势。而在应用程序的开发过程中,会陆续产生多个安卓包APK,几乎不会一次就产生功能完善的APK。即便是功能完善的APK,在分发之前,也需要根据不同的分发渠道添加不同的发布渠道标识。\n在已有原始APK情况下希望生成新的APK时,现有技术重新编写安卓开发文件,对其进行再编译生成新的APK,而不利用已有的APK,并且由于编译时间通常较长,这就造成了资源和时间的浪费。\n发明内容\n[0003] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的提供安卓包APK修改服务的方法和装置。\n[0004] 依据本发明的一个方面,提供了一种提供安卓包APK修改服务的方法,包括:获取待修改的原始APK,以及获取针对该原始APK的修改指令;对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。\n[0005] 可选地,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:删除所述多个文件中的一个或多个文件;在所述多个文件中添加一个或多个新文件;修改所述多个文件中的一个或多个文件中的部分内容;删除所述多个文件中的一个或多个文件中的部分内容;在所述多个文件中的一个或多个文件中添加新内容。\n[0006] 可选地,所述修改指令中包含多个修改方案;所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0007] 可选地,所述修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;\n修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示;\n[0008] 可选地,所述根据所述修改指令对所述多个文件进行修改处理包括:根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0009] 可选地,所述获取待修改的原始APK包括:制定通用的APK框架;所述APK框架中包含浏览器内核;接收用户提供的网址;将所述用户提供的网址添加到所述APK框架中,封装成所述原始APK。\n[0010] 可选地,将所述用户提供的网址添加到所述APK框架中包括:将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。\n[0011] 可选地,该方法进一步包括:提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0012] 可选地,该方法进一步包括:提供实现不同功能的多个JS接口;接收所述用户提供的逻辑功能描述信息;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。\n[0013] 可选地,该方法进一步包括:接收用户提供的APK名称和标识图片;所述封装成所述原始APK包括:封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。\n[0014] 依据本发明的另一方面,提供了一种提供安卓包APK修改服务的装置,包括:\n[0015] 获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。\n[0016] 可选地,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:删除所述多个文件中的一个或多个文件;在所述多个文件中添加一个或多个新文件;修改所述多个文件中的一个或多个文件中的部分内容;删除所述多个文件中的一个或多个文件中的部分内容;在所述多个文件中的一个或多个文件中添加新内容。\n[0017] 可选地,所述获取单元获得的所述修改指令中包含多个修改方案;所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0018] 可选地,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种;\n修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示。\n[0019] 可选地,所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0020] 可选地,该装置进一步包括:原始APK生成单元;所述获取单元适于从该原始APK生成单元获取待修改的原始APK;该原始APK生成单元包括:框架定制子单元,适于制定通用的APK框架;所述APK框架中包含浏览器内核;用户接口子单元,适于接收用户提供的网址;定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中,封装成原始APK。\n[0021] 可选地,所述定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。\n[0022] 可选地,所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0023] 可选地,所述用户接口子单元,进一步适于接收所述用户提供的逻辑功能描述信息;所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。\n[0024] 可选地,所述用户接口子单元,进一步适于接收用户提供的APK名称和标识图片;\n所述定制服务子单元,进一步适于封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。\n[0025] 本发明的提供安卓包APK修改服务的方法,首先获取待修改的原始APK和针对该原始APK的修改指令,对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间。\n[0026] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。\n附图说明\n[0027] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:\n[0028] 图1示出了本发明实施例提供的一种提供安卓包APK修改服务的方法的流程图;\n[0029] 图2示出了本发明实施例提供的一种提供安卓包APK修改服务的装置的结构图;\n[0030] 图3示出了本发明实施例提供的又一种提供安卓包APK修改服务的装置的结构图。\n具体实施方式\n[0031] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。\n[0032] 图1示出了本发明实施例提供的一种提供安卓包APK修改服务的方法的流程图,如图1所示,该方法包括:\n[0033] 步骤S110,获取待修改的原始APK,以及获取针对该原始APK的修改指令。在安卓应用程序的开发过程中,会依据开发进度生成多个APK,而并非一次生成最终版本的APK,[0034] 步骤S120,对原始APK进行解压缩处理,得到多个文件。APK与一般的zip、rar格式的压缩文件虽有不同,但也可以进行解压缩处理。\n[0035] 步骤S130,根据修改指令对多个文件进行修改处理。\n[0036] 步骤S140,将各文件重新进行压缩处理,得到修改后的APK。\n[0037] 图1所示的提供安卓包APK修改服务的方法,首先获取待修改的原始APK和针对该原始APK的修改指令,对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间[0038] 在本发明的一个实施例中,图1所示的方法中,根据修改指令对多个文件进行修改处理包括如下中的一种或多种:删除多个文件中的一个或多个文件;在多个文件中添加一个或多个新文件;修改多个文件中的一个或多个文件中的部分内容;删除多个文件中的一个或多个文件中的部分内容;在多个文件中的一个或多个文件中添加新内容。\n[0039] 例如,解压APK得到多个文件,包括文本、图片和其他类型的文件,图片可能为应用程序用户界面UI中的某些组成部分,用户希望对其中的一些图片进行替换,此时只需删除其中需要替换的图片,对应地添加新图片即可。类似地,可以对文件的内容进行修改,例如删除文本文件中的某些段落等。还可以删除、新增文件来实现对功能的删除和添加。\n[0040] 在本发明的一个实施例中,图1所示的方法中,修改指令中包含多个修改方案;根据修改指令对多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:根据多个修改方案,分别对多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0041] 例如,对于功能已经完善的APK,开发者希望以不同的渠道将其分发出去。而对于不同的分发渠道,对于的APK需要包含对应的渠道标识。此时需要根据不同的分发渠道对应设计修改方案,再将原始APK解压缩得到的文件对应添加渠道标识,重新压缩后就得到了不同的分发渠道包。类似地,可以依据多个修改方案修改原始APK解压后得到的图片文件,得到多个不同图标的APK等等。\n[0042] 在本发明的一个实施例中,图1所示的方法中,修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;\n修改APK中的指定逻辑功能的指示。\n[0043] 本实施例提供了几种常见的修改指示,例如,开发初期应用程序的名称未定,开发后期确定了应用程序的名称,则需要修改APK名称;应用程序需要不同的分发渠道,生成不同的分发渠道包需要修改或添加APK发布渠道标识;不同分发渠道的分发渠道包希望采用不同的图标,则需修改APK图标;APK中的指定逻辑功能发生变化,如支付方式由支付宝支付改为银行卡支付,则需要对应地修改APK中的指定逻辑功能等,这些都是用户所需的。\n[0044] 在本发明的一个实施例中,图1所示的方法中,根据修改指令对多个文件进行修改处理包括:根据修改指令对多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0045] 在更改文件名称、属性时,需要注意将与其关联的文件一并修改,否则会出现找不到路径、属性错误等报错信息。\n[0046] 在本发明的一个实施例中,上述方法中,获取待修改的原始APK包括:制定通用的APK框架;APK框架中包含浏览器内核;接收用户提供的网址;将用户提供的网址添加到APK框架中,封装成原始APK。\n[0047] 安卓系统中内置了一款高性能Webkitt内核浏览器,在软件开发工具包SDK中封装为一个叫做WebView的组件。本实施例提供的APK框架中包含的浏览器内核也可以采用WebView实现,APK框架可以采用Native C代码进行编写。通过制定包含浏览器内核的通用的APK框架,以及接收用户提供的网址,并将其添加到APK框架中,封装成原始APK,,具有简单、快速生成APK的有益效果,同时该方法还具有通用性,对不懂得APK编程技术的用户,也可以只需用户提供网址,便能够生成原始APK。解决了当用户希望定制功能并不十分复杂的APK时,也需依赖APK的编程技术人员专门编写APK的问题,极大地减少了APK开发时间,为用户推广、使用APK提供了时间上的优势和技术上的便利。\n[0048] 在本发明的一个实施例中,上述方法中,将用户提供的网址添加到APK框架中包括:将用户提供的网址添加到APK框架中并与APK框架中的浏览器内核相关联,使得当原始APK运行时浏览器内核加载并渲染网址,实现网址对应的网页包含的运行逻辑。\n[0049] 用户所提供的网址所对应的网页信息并不仅仅包含一些展示信息,如图片、文本等,可能还包含有一些与网页面向的对象的交互功能,例如购买、投票等。此时需要采用APK框架内的浏览器内核如WebView实现用户提供的网址的各运行逻辑,如点击某图标可以完成购买或投票功能等,这样保证了用户提供网址的所有功能都可以完整地呈现出来。\n[0050] 在本发明的一个实施例中,上述方法进一步包括:提供实现不同功能的多个JS接口,以供用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0051] 采用JS接口实现运行逻辑,可提高系统相似模块的重用性,使得不同类的通信更加稳固。本实施例提供的方法可以在不更改APK框架的情况下完成用户所需的功能。而不同用户所需的功能很多是重复的,例如支付方式,常见的支付方式有银行卡快捷支付、微信支付、支付宝支付等方式,这些功能所需要对应调用的JS接口是相同的,不需要为每个APK单独进行开发。所以只需在APK框架中提供实现不同功能的多个JS接口,如微信支付接口、支付宝支付接口等,即可以在用户提供的网址对应的网页在执行相应的运行逻辑时进行调用,简化了开发工序,缩短了开发时间。\n[0052] 在本发明的一个实施例中,上述方法进一步包括:提供实现不同功能的多个JS接口;接收用户提供的逻辑功能描述信息;根据用户提供的逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码;将逻辑功能代码与用户提供的网址一同添加到APK框架中,封装成原始APK。\n[0053] 浏览器内核如WebView并不能实现用户所需的所有逻辑功能,例如由于安全性限制,很多用户所需的逻辑功能无法通过WebView直接实现,此时可以通过调用JS接口的方式进行实现。在本实施例中,用户可以对所需的逻辑功能,如隐私保护等进行描述,通过逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码。这样在封装的APK中,通用的APK框架只需包含逻辑功能代码与用户提供的网址即可实现用户所需的所有功能,即不限于WebView所能实现的功能,更大限度地满足了用户的需求。\n[0054] 在本发明的一个实施例中,上述方法进一步包括:接收用户提供的APK名称和标识图片;封装成原始APK包括:封装成以用户的提供的APK名称命名的,以及以用户提供的标识图片作为图标的原始APK。\n[0055] 安卓应用程序能够吸引使用对象的一个重要方面就是应用程序的图标,因为安卓系统的桌面上会呈现应用程序的图标,使用者自然希望图标具有美感。而作为应用程序的提供者,也希望自己的应用程序具有足够高的区分度。采用本实施例的方法,用户可以对自己想要定制的APK起名,制作吸引眼球的图标,提高产品的关注度。类似地,可以在应用程序启动界面添加欢迎图片,则只需在APK封装前添加欢迎图片即可。\n[0056] 上述实施例中,用户可以通过在终端设备,如平板电脑、智能手机上提交所希望定制APK包含的各类信息,如网站网址、APK名称,标识图片等,并通过终端设备接收定制好的APK,实现了远程交互,定制及收到APK的方式都非常简便。具体实施方式可以为,提供APK定制服务网站,用户只需登录该网站,在相应的页面上通过信息提交接口输入所需的信息如需提交的网址、APK名称等,最终通过APK下载接口获得定制的APK,简单方便。\n[0057] 图2示出了本发明实施例提供的一种提供安卓包APK修改服务的装置的结构图,如图2所示,提供安卓包APK修改服务的装置200包括:\n[0058] 获取单元210,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令。\n在安卓应用程序的开发过程中,会依据开发进度生成多个APK,而并非一次生成最终版本的APK,\n[0059] 修改单元220,适于对原始APK进行解压缩处理,得到多个文件;根据修改指令对多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。\n[0060] APK与一般的zip、rar格式的压缩文件虽有不同,但也可以进行解压缩处理。图2所示的提供安卓包APK修改服务的装置,首先由获取单元210获取待修改的原始APK和针对该原始APK的修改指令,再由修改单元220对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间\n[0061] 在本发明的一个实施例中,图2所示的装置中,修改单元220适于根据修改指令对多个文件进行包括如下中的一种或多种的修改处理:删除多个文件中的一个或多个文件;\n在多个文件中添加一个或多个新文件;修改多个文件中的一个或多个文件中的部分内容;\n删除多个文件中的一个或多个文件中的部分内容;在多个文件中的一个或多个文件中添加新内容。\n[0062] 例如,解压APK得到多个文件,包括文本、图片和其他类型的文件,图片可能为应用程序用户界面UI中的某些组成部分,用户希望对其中的一些图片进行替换,此时只需删除其中需要替换的图片,对应地添加新图片即可。类似地,可以对文件的内容进行修改,例如删除文本文件中的某些段落等。还可以删除、新增文件来实现对功能的删除和添加。\n[0063] 在本发明的一个实施例中,图2所示的装置中,获取单元210获得的修改指令中包含多个修改方案。\n[0064] 修改单元220,适于根据多个修改方案,分别对多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0065] 例如,对于功能已经完善的APK,开发者希望以不同的渠道将其分发出去。而对于不同的分发渠道,对于的APK需要包含对应的渠道标识。此时需要根据不同的分发渠道对应设计修改方案,再将原始APK解压缩得到的文件对应添加渠道标识,重新压缩后就得到了不同的分发渠道包。类似地,可以依据多个修改方案修改原始APK解压后得到的图片文件,得到多个不同图标的APK等等。\n[0066] 在本发明的一个实施例中,图2所示的装置中,获取单元210获取的修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示。\n[0067] 在本发明的一个实施例中,图2所示的装置中,修改单元210,适于根据修改指令对多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0068] 图3为本发明实施例提供的又一种提供安卓包APK修改服务的装置的结构图,如图\n3所示,提供安卓包APK修改服务的装置300包括:获取单元210,修改单元220,上述单元的功能与前述实施例中相同;原始APK生成单元330;获取单元210,适于从该原始APK生成单元获取待修改的原始APK。原始APK生成单元330包括:框架定制子单元331,适于制定通用的APK框架;APK框架中包含浏览器内核。用户接口子单元332,适于接收用户提供的网址。定制服务子单元333,适于将用户提供的网址添加到APK框架中,封装成原始APK。\n[0069] 安卓系统中内置了一款高性能Webkit内核浏览器,在软件开发工具包SDK中封装为一个叫做WebView的组件。本实施例提供的APK框架中包含的浏览器内核也可以采用WebView实现,APK框架可以采用Native C代码进行编写。图3所示的装置,通过框架定制子单元331制定包含浏览器内核的通用的APK框架,以及采用用户接口子单元332接收用户提供的网址,并通过定制服务子单元333将其添加到APK框架中,封装成原始APK,具有简单、快速生成APK的有益效果,同时该装置还具有通用性,对不懂得APK编程技术的用户,也可以只需用户提供网址,便能够生成原始APK。解决了当用户希望定制功能并不十分复杂的APK时,也需依赖APK的编程技术人员专门编写APK的问题,极大地减少了APK开发时间,为用户推广、使用APK提供了时间上的优势和技术上的便利。\n[0070] 在本发明的一个实施例中,图3所示的装置中,定制服务子单元333,适于将用户提供的网址添加到APK框架中并与APK框架中的浏览器内核相关联,使得当原始APK运行时浏览器内核加载并渲染网址,实现网址对应的网页包含的运行逻辑。\n[0071] 用户所提供的网址所对应的网页信息并不仅仅包含一些展示信息,如图片、文本等,可能还包含有一些与网页面向的对象的交互功能,例如购买、投票等。此时需要采用APK框架内的浏览器内核如WebView实现用户提供的网址的各运行逻辑,如点击某图标可以完成购买或投票功能等,这样保证了用户提供网址的所有功能都可以完整地呈现出来。\n[0072] 在本发明的一个实施例中,图3所示的装置中,定制服务子单元333,进一步适于提供实现不同功能的多个JS接口,以供用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0073] 采用JS接口实现运行逻辑,可提高系统相似模块的重用性,使得不同类的通信更加稳固。本实施例提供的装置可以在不更改APK框架的情况下完成用户所需的功能。而不同用户所需的功能很多是重复的,例如支付方式,常见的支付方式有银行卡快捷支付、微信支付、支付宝支付等方式,这些功能所需要对应调用的JS接口是相同的,不需要为每个APK单独进行开发。所以只需在APK框架中提供实现不同功能的多个JS接口,如微信支付接口、支付宝支付接口等,即可以在用户提供的网址对应的网页在执行相应的运行逻辑时进行调用,简化了开发工序,缩短了开发时间。\n[0074] 在本发明的一个实施例中,图3所示的装置中,用户接口子单元332,进一步适于接收用户提供的逻辑功能描述信息;定制服务子单元333,进一步适于提供实现不同功能的多个JS接口;根据用户提供的逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码;\n将逻辑功能代码与用户提供的网址一同添加到APK框架中,封装成原始APK。\n[0075] 浏览器内核如WebView并不能实现用户所需的所有逻辑功能,例如由于安全性限制,很多用户所需的逻辑功能无法通过WebView直接实现,此时可以通过调用JS接口的方式进行实现。在本实施例中,用户可以对所需的逻辑功能,如隐私保护等进行描述,通过逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码。这样在封装的APK中,通用的APK框架只需包含逻辑功能代码与用户提供的网址即可实现用户所需的所有功能,即不限于WebView所能实现的功能,更大限度地满足了用户的需求。\n[0076] 在本发明的一个实施例中,图3所示的装置中,用户接口子单元332,进一步适于接收用户提供的APK名称和标识图片;定制服务子单元333,进一步适于封装成以用户的提供的APK名称命名的,以及以用户提供的标识图片作为图标的原始APK。\n[0077] 安卓应用程序能够吸引使用对象的一个重要方面就是应用程序的图标,因为安卓系统的桌面上会呈现应用程序的图标,使用者自然希望图标具有美感。而作为应用程序的提供者,也希望自己的应用程序具有足够高的区分度。采用本实施例的方法,用户可以对自己想要定制的APK起名,制作吸引眼球的图标,提高产品的关注度。类似地,可以在应用程序启动界面添加欢迎图片,则只需在APK封装前添加欢迎图片即可。\n[0078] 上述实施例中,用户可以通过在终端设备,如平板电脑、智能手机上提交所希望定制APK包含的各类信息,如网站网址、APK名称,标识图片等,并通过终端设备接收定制好的APK,实现了远程交互,定制及收到APK的方式都非常简便。具体实施方式可以为,提供APK定制服务网站,用户只需登录该网站,在相应的页面上通过信息提交接口输入所需的信息如需提交的网址、APK名称等,最终通过APK下载接口获得定制的APK,简单方便[0079] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。\n[0080] 需要说明的是:\n[0081] 在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。\n各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。\n[0082] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。\n[0083] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。\n[0084] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。\n[0085] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。\n[0086] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的提供安卓包APK修改服务的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。\n[0087] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。\n[0088] A1、一种提供安卓包APK修改服务的方法,其中,该方法包括:\n[0089] 获取待修改的原始APK,以及获取针对该原始APK的修改指令;\n[0090] 对所述原始APK进行解压缩处理,得到多个文件;\n[0091] 根据所述修改指令对所述多个文件进行修改处理;\n[0092] 将各文件重新进行压缩处理,得到修改后的APK。\n[0093] A2、如A1所述的方法,其中,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:\n[0094] 删除所述多个文件中的一个或多个文件;\n[0095] 在所述多个文件中添加一个或多个新文件;\n[0096] 修改所述多个文件中的一个或多个文件中的部分内容;\n[0097] 删除所述多个文件中的一个或多个文件中的部分内容;\n[0098] 在所述多个文件中的一个或多个文件中添加新内容。\n[0099] A3、如A1所述的方法,其中,所述修改指令中包含多个修改方案;\n[0100] 所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:\n[0101] 根据所述多个修改方案,分别对所述多个文件进行修改处理;\n[0102] 将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0103] A4、如A1所述的方法,其中,所述修改指令包括如下修改指示中的一种或多种;\n[0104] 修改APK名称的指示;\n[0105] 修改APK图标的指示;\n[0106] 修改或添加APK发布渠道标识的指示;\n[0107] 修改APK中的指定逻辑功能的指示。\n[0108] A5、如A1所述的方法,其中,所述根据所述修改指令对所述多个文件进行修改处理包括:\n[0109] 根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0110] A6、如A1-A5中任一项所述的方法,其中,所述获取待修改的原始APK包括:\n[0111] 制定通用的APK框架;所述APK框架中包含浏览器内核;\n[0112] 接收用户提供的网址;\n[0113] 将所述用户提供的网址添加到所述APK框架中,封装成所述原始APK。\n[0114] A7、如A6所述的方法,其中,将所述用户提供的网址添加到所述APK框架中包括:\n[0115] 将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。\n[0116] A8、如A6所述的方法,其中,该方法进一步包括:\n[0117] 提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0118] A9、如A6所述的方法,其中,该方法进一步包括:\n[0119] 提供实现不同功能的多个JS接口;\n[0120] 接收所述用户提供的逻辑功能描述信息;\n[0121] 根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;\n[0122] 将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。\n[0123] A10、如A6所述的方法,其中,\n[0124] 该方法进一步包括:接收用户提供的APK名称和标识图片;\n[0125] 所述封装成所述原始APK包括:封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。\n[0126] B11、一种提供安卓包APK修改服务的装置,其中,该装置包括:\n[0127] 获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;\n[0128] 修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。\n[0129] B12、如B11所述的装置,其中,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:\n[0130] 删除所述多个文件中的一个或多个文件;\n[0131] 在所述多个文件中添加一个或多个新文件;\n[0132] 修改所述多个文件中的一个或多个文件中的部分内容;\n[0133] 删除所述多个文件中的一个或多个文件中的部分内容;\n[0134] 在所述多个文件中的一个或多个文件中添加新内容。\n[0135] B13、如B11所述的装置,其中,\n[0136] 所述获取单元获得的所述修改指令中包含多个修改方案;\n[0137] 所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;\n将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。\n[0138] B14、如B11所述的装置,其中,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种。\n[0139] 修改APK名称的指示;\n[0140] 修改APK图标的指示;\n[0141] 修改或添加APK发布渠道标识的指示;\n[0142] 修改APK中的指定逻辑功能的指示;\n[0143] B15、如B11所述的装置,其中,\n[0144] 所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。\n[0145] B16、如B11-B15中任一项所述的装置,其中,该装置进一步包括:原始APK生成单元;所述获取单元适于从该原始APK生成单元获取待修改的原始APK;\n[0146] 该原始APK生成单元包括:\n[0147] 框架定制子单元,适于制定通用的APK框架;所述APK框架中包含浏览器内核;\n[0148] 用户接口子单元,适于接收用户提供的网址;\n[0149] 定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中,封装成原始APK。\n[0150] B17、如B16所述的装置,其中,\n[0151] 所述定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。\n[0152] B18、如B16所述的装置,其中,\n[0153] 所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。\n[0154] B19、如B16所述的装置,其中,\n[0155] 所述用户接口子单元,进一步适于接收所述用户提供的逻辑功能描述信息;\n[0156] 所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。\n[0157] B20、如B16所述的装置,其中,\n[0158] 所述用户接口子单元,进一步适于接收用户提供的APK名称和标识图片;\n[0159] 所述定制服务子单元,进一步适于封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
法律信息
- 2022-07-22
专利权的转移
登记生效日: 2022.07.11
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
专利权人由奇智软件(北京)有限公司 变更为空
- 2019-05-31
- 2015-12-16
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201510512525.8
申请日: 2015.08.19
- 2015-11-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2015-04-29
|
2014-12-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |