CN105068813A - 一种提供安卓包apk修改服务的方法和装置 - Google Patents

一种提供安卓包apk修改服务的方法和装置 Download PDF

Info

Publication number
CN105068813A
CN105068813A CN201510512525.8A CN201510512525A CN105068813A CN 105068813 A CN105068813 A CN 105068813A CN 201510512525 A CN201510512525 A CN 201510512525A CN 105068813 A CN105068813 A CN 105068813A
Authority
CN
China
Prior art keywords
apk
file
instruction
amendment
multiple file
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
Application number
CN201510512525.8A
Other languages
English (en)
Other versions
CN105068813B (zh
Inventor
葛山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510512525.8A priority Critical patent/CN105068813B/zh
Publication of CN105068813A publication Critical patent/CN105068813A/zh
Application granted granted Critical
Publication of CN105068813B publication Critical patent/CN105068813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种提供安卓包APK修改服务的方法和装置,方法包括:获取待修改的原始APK,以及获取针对该原始APK的修改指令;对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间。

Description

一种提供安卓包APK修改服务的方法和装置
技术领域
本发明涉及应用程序设开发领域,特别涉及一种提供安卓包APK修改服务的方法和装置。
背景技术
安卓系统作为近年来飞速发展的开源系统,已被广泛应用到智能手机及其他科技产品中,在该系统基础上进行开发的第三方应用程序也呈现出爆炸性的增长趋势。而在应用程序的开发过程中,会陆续产生多个安卓包APK,几乎不会一次就产生功能完善的APK。即便是功能完善的APK,在分发之前,也需要根据不同的分发渠道添加不同的发布渠道标识。在已有原始APK情况下希望生成新的APK时,现有技术重新编写安卓开发文件,对其进行再编译生成新的APK,而不利用已有的APK,并且由于编译时间通常较长,这就造成了资源和时间的浪费。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的提供安卓包APK修改服务的方法和装置。
依据本发明的一个方面,提供了一种提供安卓包APK修改服务的方法,包括:获取待修改的原始APK,以及获取针对该原始APK的修改指令;对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。
可选地,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:删除所述多个文件中的一个或多个文件;在所述多个文件中添加一个或多个新文件;修改所述多个文件中的一个或多个文件中的部分内容;删除所述多个文件中的一个或多个文件中的部分内容;在所述多个文件中的一个或多个文件中添加新内容。
可选地,所述修改指令中包含多个修改方案;所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
可选地,所述修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示;
可选地,所述根据所述修改指令对所述多个文件进行修改处理包括:根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
可选地,所述获取待修改的原始APK包括:制定通用的APK框架;所述APK框架中包含浏览器内核;接收用户提供的网址;将所述用户提供的网址添加到所述APK框架中,封装成所述原始APK。
可选地,将所述用户提供的网址添加到所述APK框架中包括:将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
可选地,该方法进一步包括:提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
可选地,该方法进一步包括:提供实现不同功能的多个JS接口;接收所述用户提供的逻辑功能描述信息;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
可选地,该方法进一步包括:接收用户提供的APK名称和标识图片;所述封装成所述原始APK包括:封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
依据本发明的另一方面,提供了一种提供安卓包APK修改服务的装置,包括:
获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。
可选地,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:删除所述多个文件中的一个或多个文件;在所述多个文件中添加一个或多个新文件;修改所述多个文件中的一个或多个文件中的部分内容;删除所述多个文件中的一个或多个文件中的部分内容;在所述多个文件中的一个或多个文件中添加新内容。
可选地,所述获取单元获得的所述修改指令中包含多个修改方案;所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
可选地,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示。
可选地,所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
可选地,该装置进一步包括:原始APK生成单元;所述获取单元适于从该原始APK生成单元获取待修改的原始APK;该原始APK生成单元包括:框架定制子单元,适于制定通用的APK框架;所述APK框架中包含浏览器内核;用户接口子单元,适于接收用户提供的网址;定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中,封装成原始APK。
可选地,所述定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
可选地,所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
可选地,所述用户接口子单元,进一步适于接收所述用户提供的逻辑功能描述信息;所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
可选地,所述用户接口子单元,进一步适于接收用户提供的APK名称和标识图片;所述定制服务子单元,进一步适于封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
本发明的提供安卓包APK修改服务的方法,首先获取待修改的原始APK和针对该原始APK的修改指令,对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种提供安卓包APK修改服务的方法的流程图;
图2示出了本发明实施例提供的一种提供安卓包APK修改服务的装置的结构图;
图3示出了本发明实施例提供的又一种提供安卓包APK修改服务的装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的一种提供安卓包APK修改服务的方法的流程图,如图1所示,该方法包括:
步骤S110,获取待修改的原始APK,以及获取针对该原始APK的修改指令。在安卓应用程序的开发过程中,会依据开发进度生成多个APK,而并非一次生成最终版本的APK,
步骤S120,对原始APK进行解压缩处理,得到多个文件。APK与一般的zip、rar格式的压缩文件虽有不同,但也可以进行解压缩处理。
步骤S130,根据修改指令对多个文件进行修改处理。
步骤S140,将各文件重新进行压缩处理,得到修改后的APK。
图1所示的提供安卓包APK修改服务的方法,首先获取待修改的原始APK和针对该原始APK的修改指令,对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间
在本发明的一个实施例中,图1所示的方法中,根据修改指令对多个文件进行修改处理包括如下中的一种或多种:删除多个文件中的一个或多个文件;在多个文件中添加一个或多个新文件;修改多个文件中的一个或多个文件中的部分内容;删除多个文件中的一个或多个文件中的部分内容;在多个文件中的一个或多个文件中添加新内容。
例如,解压APK得到多个文件,包括文本、图片和其他类型的文件,图片可能为应用程序用户界面UI中的某些组成部分,用户希望对其中的一些图片进行替换,此时只需删除其中需要替换的图片,对应地添加新图片即可。类似地,可以对文件的内容进行修改,例如删除文本文件中的某些段落等。还可以删除、新增文件来实现对功能的删除和添加。
在本发明的一个实施例中,图1所示的方法中,修改指令中包含多个修改方案;根据修改指令对多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:根据多个修改方案,分别对多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
例如,对于功能已经完善的APK,开发者希望以不同的渠道将其分发出去。而对于不同的分发渠道,对于的APK需要包含对应的渠道标识。此时需要根据不同的分发渠道对应设计修改方案,再将原始APK解压缩得到的文件对应添加渠道标识,重新压缩后就得到了不同的分发渠道包。类似地,可以依据多个修改方案修改原始APK解压后得到的图片文件,得到多个不同图标的APK等等。
在本发明的一个实施例中,图1所示的方法中,修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示。
本实施例提供了几种常见的修改指示,例如,开发初期应用程序的名称未定,开发后期确定了应用程序的名称,则需要修改APK名称;应用程序需要不同的分发渠道,生成不同的分发渠道包需要修改或添加APK发布渠道标识;不同分发渠道的分发渠道包希望采用不同的图标,则需修改APK图标;APK中的指定逻辑功能发生变化,如支付方式由支付宝支付改为银行卡支付,则需要对应地修改APK中的指定逻辑功能等,这些都是用户所需的。
在本发明的一个实施例中,图1所示的方法中,根据修改指令对多个文件进行修改处理包括:根据修改指令对多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
在更改文件名称、属性时,需要注意将与其关联的文件一并修改,否则会出现找不到路径、属性错误等报错信息。
在本发明的一个实施例中,上述方法中,获取待修改的原始APK包括:制定通用的APK框架;APK框架中包含浏览器内核;接收用户提供的网址;将用户提供的网址添加到APK框架中,封装成原始APK。
安卓系统中内置了一款高性能Webkitt内核浏览器,在软件开发工具包SDK中封装为一个叫做WebView的组件。本实施例提供的APK框架中包含的浏览器内核也可以采用WebView实现,APK框架可以采用NativeC代码进行编写。通过制定包含浏览器内核的通用的APK框架,以及接收用户提供的网址,并将其添加到APK框架中,封装成原始APK,,具有简单、快速生成APK的有益效果,同时该方法还具有通用性,对不懂得APK编程技术的用户,也可以只需用户提供网址,便能够生成原始APK。解决了当用户希望定制功能并不十分复杂的APK时,也需依赖APK的编程技术人员专门编写APK的问题,极大地减少了APK开发时间,为用户推广、使用APK提供了时间上的优势和技术上的便利。
在本发明的一个实施例中,上述方法中,将用户提供的网址添加到APK框架中包括:将用户提供的网址添加到APK框架中并与APK框架中的浏览器内核相关联,使得当原始APK运行时浏览器内核加载并渲染网址,实现网址对应的网页包含的运行逻辑。
用户所提供的网址所对应的网页信息并不仅仅包含一些展示信息,如图片、文本等,可能还包含有一些与网页面向的对象的交互功能,例如购买、投票等。此时需要采用APK框架内的浏览器内核如WebView实现用户提供的网址的各运行逻辑,如点击某图标可以完成购买或投票功能等,这样保证了用户提供网址的所有功能都可以完整地呈现出来。
在本发明的一个实施例中,上述方法进一步包括:提供实现不同功能的多个JS接口,以供用户提供的网址对应的网页在执行相应的运行逻辑时调用。
采用JS接口实现运行逻辑,可提高系统相似模块的重用性,使得不同类的通信更加稳固。本实施例提供的方法可以在不更改APK框架的情况下完成用户所需的功能。而不同用户所需的功能很多是重复的,例如支付方式,常见的支付方式有银行卡快捷支付、微信支付、支付宝支付等方式,这些功能所需要对应调用的JS接口是相同的,不需要为每个APK单独进行开发。所以只需在APK框架中提供实现不同功能的多个JS接口,如微信支付接口、支付宝支付接口等,即可以在用户提供的网址对应的网页在执行相应的运行逻辑时进行调用,简化了开发工序,缩短了开发时间。
在本发明的一个实施例中,上述方法进一步包括:提供实现不同功能的多个JS接口;接收用户提供的逻辑功能描述信息;根据用户提供的逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码;将逻辑功能代码与用户提供的网址一同添加到APK框架中,封装成原始APK。
浏览器内核如WebView并不能实现用户所需的所有逻辑功能,例如由于安全性限制,很多用户所需的逻辑功能无法通过WebView直接实现,此时可以通过调用JS接口的方式进行实现。在本实施例中,用户可以对所需的逻辑功能,如隐私保护等进行描述,通过逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码。这样在封装的APK中,通用的APK框架只需包含逻辑功能代码与用户提供的网址即可实现用户所需的所有功能,即不限于WebView所能实现的功能,更大限度地满足了用户的需求。
在本发明的一个实施例中,上述方法进一步包括:接收用户提供的APK名称和标识图片;封装成原始APK包括:封装成以用户的提供的APK名称命名的,以及以用户提供的标识图片作为图标的原始APK。
安卓应用程序能够吸引使用对象的一个重要方面就是应用程序的图标,因为安卓系统的桌面上会呈现应用程序的图标,使用者自然希望图标具有美感。而作为应用程序的提供者,也希望自己的应用程序具有足够高的区分度。采用本实施例的方法,用户可以对自己想要定制的APK起名,制作吸引眼球的图标,提高产品的关注度。类似地,可以在应用程序启动界面添加欢迎图片,则只需在APK封装前添加欢迎图片即可。
上述实施例中,用户可以通过在终端设备,如平板电脑、智能手机上提交所希望定制APK包含的各类信息,如网站网址、APK名称,标识图片等,并通过终端设备接收定制好的APK,实现了远程交互,定制及收到APK的方式都非常简便。具体实施方式可以为,提供APK定制服务网站,用户只需登录该网站,在相应的页面上通过信息提交接口输入所需的信息如需提交的网址、APK名称等,最终通过APK下载接口获得定制的APK,简单方便。
图2示出了本发明实施例提供的一种提供安卓包APK修改服务的装置的结构图,如图2所示,提供安卓包APK修改服务的装置200包括:
获取单元210,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令。在安卓应用程序的开发过程中,会依据开发进度生成多个APK,而并非一次生成最终版本的APK,
修改单元220,适于对原始APK进行解压缩处理,得到多个文件;根据修改指令对多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。
APK与一般的zip、rar格式的压缩文件虽有不同,但也可以进行解压缩处理。图2所示的提供安卓包APK修改服务的装置,首先由获取单元210获取待修改的原始APK和针对该原始APK的修改指令,再由修改单元220对该原始APK进行解压缩处理,得到多个文件,再根据获取的修改指令对这多个文件进行修改处理,再将处理后的各文件重新进行压缩处理,得到修改后的APK,具有在不进行编译安卓开发文件的情况下完善原始APK的功能的有益效果,通过对APK进行解压缩得到的文件进行简单的修改,如属性、名称的添加、修改或删除,即可完成对用户所需功能的完善,既利用了在开发应用程序中产生的APK资源,又节约了开发时间
在本发明的一个实施例中,图2所示的装置中,修改单元220适于根据修改指令对多个文件进行包括如下中的一种或多种的修改处理:删除多个文件中的一个或多个文件;在多个文件中添加一个或多个新文件;修改多个文件中的一个或多个文件中的部分内容;删除多个文件中的一个或多个文件中的部分内容;在多个文件中的一个或多个文件中添加新内容。
例如,解压APK得到多个文件,包括文本、图片和其他类型的文件,图片可能为应用程序用户界面UI中的某些组成部分,用户希望对其中的一些图片进行替换,此时只需删除其中需要替换的图片,对应地添加新图片即可。类似地,可以对文件的内容进行修改,例如删除文本文件中的某些段落等。还可以删除、新增文件来实现对功能的删除和添加。
在本发明的一个实施例中,图2所示的装置中,获取单元210获得的修改指令中包含多个修改方案。
修改单元220,适于根据多个修改方案,分别对多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
例如,对于功能已经完善的APK,开发者希望以不同的渠道将其分发出去。而对于不同的分发渠道,对于的APK需要包含对应的渠道标识。此时需要根据不同的分发渠道对应设计修改方案,再将原始APK解压缩得到的文件对应添加渠道标识,重新压缩后就得到了不同的分发渠道包。类似地,可以依据多个修改方案修改原始APK解压后得到的图片文件,得到多个不同图标的APK等等。
在本发明的一个实施例中,图2所示的装置中,获取单元210获取的修改指令包括如下修改指示中的一种或多种;修改APK名称的指示;修改APK图标的指示;修改或添加APK发布渠道标识的指示;修改APK中的指定逻辑功能的指示。
在本发明的一个实施例中,图2所示的装置中,修改单元210,适于根据修改指令对多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
图3为本发明实施例提供的又一种提供安卓包APK修改服务的装置的结构图,如图3所示,提供安卓包APK修改服务的装置300包括:获取单元210,修改单元220,上述单元的功能与前述实施例中相同;原始APK生成单元330;获取单元210,适于从该原始APK生成单元获取待修改的原始APK。原始APK生成单元330包括:框架定制子单元331,适于制定通用的APK框架;APK框架中包含浏览器内核。用户接口子单元332,适于接收用户提供的网址。定制服务子单元333,适于将用户提供的网址添加到APK框架中,封装成原始APK。
安卓系统中内置了一款高性能Webkit内核浏览器,在软件开发工具包SDK中封装为一个叫做WebView的组件。本实施例提供的APK框架中包含的浏览器内核也可以采用WebView实现,APK框架可以采用NativeC代码进行编写。图3所示的装置,通过框架定制子单元331制定包含浏览器内核的通用的APK框架,以及采用用户接口子单元332接收用户提供的网址,并通过定制服务子单元333将其添加到APK框架中,封装成原始APK,具有简单、快速生成APK的有益效果,同时该装置还具有通用性,对不懂得APK编程技术的用户,也可以只需用户提供网址,便能够生成原始APK。解决了当用户希望定制功能并不十分复杂的APK时,也需依赖APK的编程技术人员专门编写APK的问题,极大地减少了APK开发时间,为用户推广、使用APK提供了时间上的优势和技术上的便利。
在本发明的一个实施例中,图3所示的装置中,定制服务子单元333,适于将用户提供的网址添加到APK框架中并与APK框架中的浏览器内核相关联,使得当原始APK运行时浏览器内核加载并渲染网址,实现网址对应的网页包含的运行逻辑。
用户所提供的网址所对应的网页信息并不仅仅包含一些展示信息,如图片、文本等,可能还包含有一些与网页面向的对象的交互功能,例如购买、投票等。此时需要采用APK框架内的浏览器内核如WebView实现用户提供的网址的各运行逻辑,如点击某图标可以完成购买或投票功能等,这样保证了用户提供网址的所有功能都可以完整地呈现出来。
在本发明的一个实施例中,图3所示的装置中,定制服务子单元333,进一步适于提供实现不同功能的多个JS接口,以供用户提供的网址对应的网页在执行相应的运行逻辑时调用。
采用JS接口实现运行逻辑,可提高系统相似模块的重用性,使得不同类的通信更加稳固。本实施例提供的装置可以在不更改APK框架的情况下完成用户所需的功能。而不同用户所需的功能很多是重复的,例如支付方式,常见的支付方式有银行卡快捷支付、微信支付、支付宝支付等方式,这些功能所需要对应调用的JS接口是相同的,不需要为每个APK单独进行开发。所以只需在APK框架中提供实现不同功能的多个JS接口,如微信支付接口、支付宝支付接口等,即可以在用户提供的网址对应的网页在执行相应的运行逻辑时进行调用,简化了开发工序,缩短了开发时间。
在本发明的一个实施例中,图3所示的装置中,用户接口子单元332,进一步适于接收用户提供的逻辑功能描述信息;定制服务子单元333,进一步适于提供实现不同功能的多个JS接口;根据用户提供的逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码;将逻辑功能代码与用户提供的网址一同添加到APK框架中,封装成原始APK。
浏览器内核如WebView并不能实现用户所需的所有逻辑功能,例如由于安全性限制,很多用户所需的逻辑功能无法通过WebView直接实现,此时可以通过调用JS接口的方式进行实现。在本实施例中,用户可以对所需的逻辑功能,如隐私保护等进行描述,通过逻辑功能描述信息,基于多个JS接口生成相应的逻辑功能代码。这样在封装的APK中,通用的APK框架只需包含逻辑功能代码与用户提供的网址即可实现用户所需的所有功能,即不限于WebView所能实现的功能,更大限度地满足了用户的需求。
在本发明的一个实施例中,图3所示的装置中,用户接口子单元332,进一步适于接收用户提供的APK名称和标识图片;定制服务子单元333,进一步适于封装成以用户的提供的APK名称命名的,以及以用户提供的标识图片作为图标的原始APK。
安卓应用程序能够吸引使用对象的一个重要方面就是应用程序的图标,因为安卓系统的桌面上会呈现应用程序的图标,使用者自然希望图标具有美感。而作为应用程序的提供者,也希望自己的应用程序具有足够高的区分度。采用本实施例的方法,用户可以对自己想要定制的APK起名,制作吸引眼球的图标,提高产品的关注度。类似地,可以在应用程序启动界面添加欢迎图片,则只需在APK封装前添加欢迎图片即可。
上述实施例中,用户可以通过在终端设备,如平板电脑、智能手机上提交所希望定制APK包含的各类信息,如网站网址、APK名称,标识图片等,并通过终端设备接收定制好的APK,实现了远程交互,定制及收到APK的方式都非常简便。具体实施方式可以为,提供APK定制服务网站,用户只需登录该网站,在相应的页面上通过信息提交接口输入所需的信息如需提交的网址、APK名称等,最终通过APK下载接口获得定制的APK,简单方便
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的提供安卓包APK修改服务的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
A1、一种提供安卓包APK修改服务的方法,其中,该方法包括:
获取待修改的原始APK,以及获取针对该原始APK的修改指令;
对所述原始APK进行解压缩处理,得到多个文件;
根据所述修改指令对所述多个文件进行修改处理;
将各文件重新进行压缩处理,得到修改后的APK。
A2、如A1所述的方法,其中,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
A3、如A1所述的方法,其中,所述修改指令中包含多个修改方案;
所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:
根据所述多个修改方案,分别对所述多个文件进行修改处理;
将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
A4、如A1所述的方法,其中,所述修改指令包括如下修改指示中的一种或多种;
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示。
A5、如A1所述的方法,其中,所述根据所述修改指令对所述多个文件进行修改处理包括:
根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
A6、如A1-A5中任一项所述的方法,其中,所述获取待修改的原始APK包括:
制定通用的APK框架;所述APK框架中包含浏览器内核;
接收用户提供的网址;
将所述用户提供的网址添加到所述APK框架中,封装成所述原始APK。
A7、如A6所述的方法,其中,将所述用户提供的网址添加到所述APK框架中包括:
将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
A8、如A6所述的方法,其中,该方法进一步包括:
提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
A9、如A6所述的方法,其中,该方法进一步包括:
提供实现不同功能的多个JS接口;
接收所述用户提供的逻辑功能描述信息;
根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;
将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
A10、如A6所述的方法,其中,
该方法进一步包括:接收用户提供的APK名称和标识图片;
所述封装成所述原始APK包括:封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。
B11、一种提供安卓包APK修改服务的装置,其中,该装置包括:
获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;
修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。
B12、如B11所述的装置,其中,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
B13、如B11所述的装置,其中,
所述获取单元获得的所述修改指令中包含多个修改方案;
所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
B14、如B11所述的装置,其中,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种。
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示;
B15、如B11所述的装置,其中,
所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
B16、如B11-B15中任一项所述的装置,其中,该装置进一步包括:原始APK生成单元;所述获取单元适于从该原始APK生成单元获取待修改的原始APK;
该原始APK生成单元包括:
框架定制子单元,适于制定通用的APK框架;所述APK框架中包含浏览器内核;
用户接口子单元,适于接收用户提供的网址;
定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中,封装成原始APK。
B17、如B16所述的装置,其中,
所述定制服务子单元,适于将所述用户提供的网址添加到所述APK框架中并与所述APK框架中的浏览器内核相关联,使得当所述原始APK运行时所述浏览器内核加载并渲染所述网址,实现所述网址对应的网页包含的运行逻辑。
B18、如B16所述的装置,其中,
所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口,以供所述用户提供的网址对应的网页在执行相应的运行逻辑时调用。
B19、如B16所述的装置,其中,
所述用户接口子单元,进一步适于接收所述用户提供的逻辑功能描述信息;
所述定制服务子单元,进一步适于提供实现不同功能的多个JS接口;根据所述用户提供的逻辑功能描述信息,基于所述多个JS接口生成相应的逻辑功能代码;将所述逻辑功能代码与所述用户提供的网址一同添加到所述APK框架中,封装成所述原始APK。
B20、如B16所述的装置,其中,
所述用户接口子单元,进一步适于接收用户提供的APK名称和标识图片;
所述定制服务子单元,进一步适于封装成以所述用户的提供的APK名称命名的,以及以所述用户提供的标识图片作为图标的原始APK。

Claims (10)

1.一种提供安卓包APK修改服务的方法,其中,该方法包括:
获取待修改的原始APK,以及获取针对该原始APK的修改指令;
对所述原始APK进行解压缩处理,得到多个文件;
根据所述修改指令对所述多个文件进行修改处理;
将各文件重新进行压缩处理,得到修改后的APK。
2.如权利要求1所述的方法,其中,根据所述修改指令对所述多个文件进行修改处理包括如下中的一种或多种:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
3.如权利要求1所述的方法,其中,所述修改指令中包含多个修改方案;
所述根据所述修改指令对所述多个文件进行修改处理,将各文件重新进行压缩处理,得到修改后的APK包括:
根据所述多个修改方案,分别对所述多个文件进行修改处理;
将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
4.如权利要求1所述的方法,其中,所述修改指令包括如下修改指示中的一种或多种;
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示。
5.如权利要求1所述的方法,其中,所述根据所述修改指令对所述多个文件进行修改处理包括:
根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
6.一种提供安卓包APK修改服务的装置,其中,该装置包括:
获取单元,适于获取待修改的原始APK,以及获取针对该原始APK的修改指令;
修改单元,适于对所述原始APK进行解压缩处理,得到多个文件;根据所述修改指令对所述多个文件进行修改处理;将各文件重新进行压缩处理,得到修改后的APK。
7.如权利要求6所述的装置,其中,所述修改单元适于根据所述修改指令对所述多个文件进行包括如下中的一种或多种的修改处理:
删除所述多个文件中的一个或多个文件;
在所述多个文件中添加一个或多个新文件;
修改所述多个文件中的一个或多个文件中的部分内容;
删除所述多个文件中的一个或多个文件中的部分内容;
在所述多个文件中的一个或多个文件中添加新内容。
8.如权利要求6所述的装置,其中,
所述获取单元获得的所述修改指令中包含多个修改方案;
所述修改单元,适于根据所述多个修改方案,分别对所述多个文件进行修改处理;将各修改方案对应的各文件分别重新进行压缩处理,得到各修改方案分别对应的多个修改后的APK。
9.如权利要求6所述的装置,其中,所述获取单元获取的所述修改指令包括如下修改指示中的一种或多种。
修改APK名称的指示;
修改APK图标的指示;
修改或添加APK发布渠道标识的指示;
修改APK中的指定逻辑功能的指示;
10.如权利要求6所述的装置,其中,
所述修改单元,适于根据所述修改指令对所述多个文件中的相应属性信息进行修改,以及修改相应属性信息对应的路径信息。
CN201510512525.8A 2015-08-19 2015-08-19 一种提供安卓包apk修改服务的方法和装置 Active CN105068813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510512525.8A CN105068813B (zh) 2015-08-19 2015-08-19 一种提供安卓包apk修改服务的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510512525.8A CN105068813B (zh) 2015-08-19 2015-08-19 一种提供安卓包apk修改服务的方法和装置

Publications (2)

Publication Number Publication Date
CN105068813A true CN105068813A (zh) 2015-11-18
CN105068813B CN105068813B (zh) 2019-05-31

Family

ID=54498193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510512525.8A Active CN105068813B (zh) 2015-08-19 2015-08-19 一种提供安卓包apk修改服务的方法和装置

Country Status (1)

Country Link
CN (1) CN105068813B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843843A (zh) * 2016-12-23 2017-06-13 光锐恒宇(北京)科技有限公司 安装包批量生成方法及装置
WO2017107572A1 (zh) * 2015-12-24 2017-06-29 北京大学 一种面向智能手表的Android应用重构方法
CN107305495A (zh) * 2016-04-19 2017-10-31 华为技术有限公司 实现软件安装包功能修改的方法及终端
CN108009098A (zh) * 2016-10-27 2018-05-08 希捷科技有限公司 具有经压缩的正向映射的存储分层
CN108776569A (zh) * 2018-04-20 2018-11-09 贵阳朗玛信息技术股份有限公司 一种对编译选项控制文件的修改方法及装置
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110825365A (zh) * 2019-11-14 2020-02-21 福州汇思博信息技术有限公司 一种定制webview特性的方法、装置、设备和介质
CN111090455A (zh) * 2019-11-27 2020-05-01 杭州古点网络科技有限公司 一种优化WEB项目前端资源并重新发布war包的方法
CN111611007A (zh) * 2020-05-21 2020-09-01 掌阅科技股份有限公司 基于脚本实现的应用程序安装包的打包方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467078B1 (en) * 1998-07-03 2002-10-15 Nec Corporation Program development system, method for developing programs and storage medium storing programs for development of programs
CN102200922A (zh) * 2011-04-06 2011-09-28 宇龙计算机通信科技(深圳)有限公司 应用程序安装方法和终端
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103995718A (zh) * 2014-05-08 2014-08-20 百度在线网络技术(北京)有限公司 程序的信息收集方法和装置
CN104090772A (zh) * 2014-07-23 2014-10-08 广州金山网络科技有限公司 一种生成安卓安装包apk的方法及装置
CN104317625A (zh) * 2014-11-09 2015-01-28 刘鹏 一种apk文件的动态加载方法
CN104572089A (zh) * 2014-12-26 2015-04-29 北京京东尚科信息技术有限公司 生成安卓安装包的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467078B1 (en) * 1998-07-03 2002-10-15 Nec Corporation Program development system, method for developing programs and storage medium storing programs for development of programs
CN102200922A (zh) * 2011-04-06 2011-09-28 宇龙计算机通信科技(深圳)有限公司 应用程序安装方法和终端
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103995718A (zh) * 2014-05-08 2014-08-20 百度在线网络技术(北京)有限公司 程序的信息收集方法和装置
CN104090772A (zh) * 2014-07-23 2014-10-08 广州金山网络科技有限公司 一种生成安卓安装包apk的方法及装置
CN104317625A (zh) * 2014-11-09 2015-01-28 刘鹏 一种apk文件的动态加载方法
CN104572089A (zh) * 2014-12-26 2015-04-29 北京京东尚科信息技术有限公司 生成安卓安装包的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HANJIESON: "webview的使用--JS接口", 《HTTP://BLOG.CSDN.NET/HANJIESON/ARTICLE/DETAILS/10207023》 *
萌萌的IT人: "将HTML5封装成android应用APK 文件若干方法", 《HTTPS://BLOG.CSDN.NET/DYLLOVE98/ARTICLE/DETAILS/8831841》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107572A1 (zh) * 2015-12-24 2017-06-29 北京大学 一种面向智能手表的Android应用重构方法
CN107305495A (zh) * 2016-04-19 2017-10-31 华为技术有限公司 实现软件安装包功能修改的方法及终端
CN108009098B (zh) * 2016-10-27 2021-07-06 希捷科技有限公司 具有经压缩的正向映射的存储分层
CN108009098A (zh) * 2016-10-27 2018-05-08 希捷科技有限公司 具有经压缩的正向映射的存储分层
CN106843843A (zh) * 2016-12-23 2017-06-13 光锐恒宇(北京)科技有限公司 安装包批量生成方法及装置
CN108776569A (zh) * 2018-04-20 2018-11-09 贵阳朗玛信息技术股份有限公司 一种对编译选项控制文件的修改方法及装置
CN108776569B (zh) * 2018-04-20 2021-10-15 贵阳朗玛信息技术股份有限公司 一种对编译选项控制文件的修改方法及装置
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110825365A (zh) * 2019-11-14 2020-02-21 福州汇思博信息技术有限公司 一种定制webview特性的方法、装置、设备和介质
CN110825365B (zh) * 2019-11-14 2022-08-23 福州汇思博信息技术有限公司 一种定制webview特性的方法、装置、设备和介质
CN111090455A (zh) * 2019-11-27 2020-05-01 杭州古点网络科技有限公司 一种优化WEB项目前端资源并重新发布war包的方法
CN111611007A (zh) * 2020-05-21 2020-09-01 掌阅科技股份有限公司 基于脚本实现的应用程序安装包的打包方法及设备
CN111611007B (zh) * 2020-05-21 2023-08-29 掌阅科技股份有限公司 基于脚本实现的应用程序安装包的打包方法及设备

Also Published As

Publication number Publication date
CN105068813B (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN105068813A (zh) 一种提供安卓包apk修改服务的方法和装置
CN107391114B (zh) 页面可视化渲染方法及装置
US9715370B2 (en) Method and system for providing content
CN101322096B (zh) 元数据驱动的用户界面
US8745573B2 (en) Platform-independent application development framework
CN107038042B (zh) 一种业务执行的方法及装置
CN110244977A (zh) 定制化软件生成方法、系统、电子设备及存储介质
US8930824B2 (en) Facilitating propagation of user interface patterns or themes
KR102281052B1 (ko) 이동 단말 애플리케이션 업데이트 방법 및 장치
JP2016511905A (ja) コンパイラベースの難読化
CN107092475B (zh) 一种交互控件的调用方法及装置
CN105373390A (zh) 面向oem的在线软件定制打包发布的方法和装置
CN105955731B (zh) 一种手机游戏快速编写方法和系统
CN111158651A (zh) 构建人工智能应用的方法、装置及系统
CN111324390A (zh) 实现app内容可配置和实时更新的装置及方法
CN108170430B (zh) 一种界面展示的方法及系统
CN109358833A (zh) 一种音频播放方法及系统、一种计算设备及存储介质
CN105631650A (zh) 一种实现通用前端支付服务的方法和装置
CN111158797A (zh) 运行人工智能应用的方法、系统及引擎装置
CN108363574B (zh) 基于sdk的前端定制方法、装置、终端设备及存储介质
CN113095053A (zh) 网页表格定制方法及装置
CN109542404A (zh) 页面组件化的构建方法、装置、存储介质及电子设备
CN105117222B (zh) 一种提供安卓包apk定制服务的方法和装置
CN105183887A (zh) 基于浏览器的数据处理方法和浏览器装置
CN110647371A (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
TR01 Transfer of patent right

Effective date of registration: 20220711

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co., Ltd

TR01 Transfer of patent right