CN106843909A - 支持渠道定制的渠道打包方法及装置 - Google Patents

支持渠道定制的渠道打包方法及装置 Download PDF

Info

Publication number
CN106843909A
CN106843909A CN201710132537.7A CN201710132537A CN106843909A CN 106843909 A CN106843909 A CN 106843909A CN 201710132537 A CN201710132537 A CN 201710132537A CN 106843909 A CN106843909 A CN 106843909A
Authority
CN
China
Prior art keywords
channel
installation kit
file
target
application program
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.)
Pending
Application number
CN201710132537.7A
Other languages
English (en)
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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201710132537.7A priority Critical patent/CN106843909A/zh
Publication of CN106843909A publication Critical patent/CN106843909A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出一种支持渠道定制的渠道打包方法及装置、应用程序的执行方法及客户端,其中,方法包括:获取应用程序的安装包,安装包为压缩包,向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。本实施例中,在客户端通过安装包安装应用程序时,客户端需要对安装包进行包校验的过程,由于安装包中的校验文件夹中存储的内容为安装包中各文件的签名信息,校验文件夹可以跳过客户端的包校验过程。本实施例中利用校验文件夹的这一特点,将目标渠道的定制资源文件插入到安装包中,可以节省现有技术中对安装包的编译或者重新构建等过程所耗费的时间,进而可以提高批量渠道打包的效率。

Description

支持渠道定制的渠道打包方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种支持渠道定制的渠道打包方法及装置、应用程序的执行方法及客户端。
背景技术
随着移动终端技术的发展,用户可以在移动终端上使用各种各样的应用程序。具体地,用户首先需要从一个市场渠道即应用市场上,下载选定的应用程序的安装包,然后利用该安装包完成应用程序的安装,当应用程序安装完成后,用户就可以在移动终端上使用该应用程序。
随着用户移动终端的依赖,各种用于下载应用程序的渠道也随着产生。以安卓(Android)操作系统为例,目前可以支持Android应用程序下载的渠道也越来越多,如谷歌(Google)应用商店、豌豆荚、应用宝、360手机助手等。一般情况下,一个Android应用程序在开发完成后,需要上线发布到不同的渠道上,以供用户从其中一个渠道上下载选定的应用程序。
目前,通过基于Java的构建工具如Ant、Maven,对Android安装包(AndroidPackage,简称APK)进行多渠道打包;或者通过Google提供的编译工具Apktool或者jarsign等工具,对安装包进行反编译及回编译,来实现对Android安装包的多渠道打包,具体地,对安装包进行解压缩,解压后在重新替换该应用程序的程序清单文件即manifest文件,然后重新压缩后重新签名后打包。由此可见,基于上述工具对安装包进行多渠道打包时,需要对安装包的源码进行编译或者重新构建耗时长,导致批量打包时存在时效低的问题。
发明内容
为此,本发明提出一种支持渠道定制的渠道打包方法及装置、应用程序的执行方法及客户端,用于解决由于现有多渠道打包存在需要对安装包的源码进行编译或者重新构建耗时长,导致批量打包时时效低的问题。
为达上述目的,本发明第一方面实施例提出了一种支持渠道定制的渠道打包方法,包括:
获取应用程序的安装包;所述安装包为压缩包;
向所述安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于所述目标渠道的目标安装包;
其中,在客户端安装所述应用程序时,所述校验文件夹能够跳过所述客户端的操作系统对所述目标安装包进行的包校验过程。
作为本发明第一方面实施例的一种可选地实现方式,在向所述安装包中的校验文件夹中插入目标渠道的定制资源文件时,同步地向所述校验文件夹中插入所述目标渠道的渠道号文件;所述渠道号文件的文件名为所述目标渠道的渠道号。
作为本发明第一方面实施例的一种可选地实现方式,当所述应用程序需要向多个渠道发布时,所述方法还包括:
统计所述应用程序需要发布的所有渠道的渠道数量;
对所述安装包进行备份,获取与所述渠道数量相同数量的备份包;其中,一个渠道对应一个所述备份包,所述备份包为压缩包;
向每个备份包中的所述校验文件夹中分别插入该备份包所对应渠道的定制资源文件,得到各渠道的目标安装包。
作为本发明第一方面实施例的一种可选地实现方式,所述对所述安装包进行备份,获取与所述渠道数量相同数量的备份包之前,还包括:
对所述安装包进行安全加固处理。
本发明实施例的支持渠道定制的渠道打包方法,通过获取应用程序的安装包,安装包为压缩包,向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。本实施例中,在客户端通过安装包安装应用程序时,客户端需要对安装包进行包校验的过程,由于安装包中的校验文件夹中存储的内容为安装包中各文件的签名信息,校验文件夹可以跳过客户端的包校验过程,本实施例中利用校验文件夹的这一特点,将目标渠道的定制资源文件插入到安装包中,可以节省现有技术中对安装包的编译或者重新构建等过程所耗费的时间,进而可以提高批量渠道打包的效率。
为达上述目的,本发明第二方面实施例提出了一种应用程序的执行方法,包括:
从所选取的目标渠道下载本发明第一方面实施例所述的支持渠道定制的渠道打包方法得到的目标安装包;
对所述目标安装包进行解压缩得到解压目标安装包,利用所述解压目标安装包完成应用程序的安装;
当用户初次使用所述应用程序时,遍历所述解压目标安装包从中识别出校验文件夹;
加载所述校验文件夹中的所述目标渠道对应的定制资源文件;
根据所述定制资源文件向所述用户展示所述目标渠道的个性化定制;
将所述定制资源文件保存在应用程序中。
本发明实施例的应用程序执行方法,客户端获取携带有渠道的定制资源文件的目标安装包并安装,在安装完成后,客户端初始启用应用程序时,可以从校验文件夹中加载该渠道的定制资源文件,利用该定制资源文件向用户展示渠道的格式化定制,并且可以将加载后的定制资源文件保存在本地。本实施例实现了启动应用程序时,能够基于定制资源文件向用户展示渠道的个性化定制的目的。
为达上述目的,本发明第三方面实施例提出了一种支持渠道定制的渠道打包装置,包括:
获取模块,用于获取应用程序的安装包;其中,所述安装包为一个压缩包;
插入模块,用于向所述安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于所述目标渠道的目标安装包;
其中,在客户端安装所述应用程序时,所述校验文件夹能够跳过所述客户端的操作系统对所述目标安装包进行的包校验过程。
作为本发明第三方面实施例的一种可选地实现方式,所述插入模块,还用于在向所述安装包中的校验文件夹中插入目标渠道的定制资源文件时,同步地向所述校验文件夹中插入所述目标渠道的渠道号文件;所述渠道号文件的文件名为所述目标渠道的渠道号。
作为本发明第三方面实施例的一种可选地实现方式,所述装置还包括:
统计模块,用于当所述应用程序需要向多个渠道发布时,统计所述应用程序需要发布的所有渠道的渠道数量;
备份模块,用于对所述安装包进行备份,获取与所述渠道数据相同数量的备份包;其中,一个渠道对应一个所述备份包,所述备份包为一个压缩包;
所述插入模块,还用于向每个备份包中的所述校验文件夹中插入该备份包所对应渠道的定制资源文件,得到各渠道的目标安装包。
作为本发明第三方面实施例的一种可选地实现方式,所述装置还包括:
加固模块,用于对所述安装包进行备份,获取与所述渠道数量相同数量的备份包之前,对所述安装包进行安全加固处理。
本发明实施例的支持渠道定制的渠道打包装置,通过获取应用程序的安装包,安装包为压缩包,向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。本实施例中,在客户端通过安装包安装应用程序时,客户端需要对安装包进行包校验的过程,由于安装包中的校验文件夹中存储的内容为安装包中各文件的签名信息,校验文件夹可以跳过客户端的包校验过程,本实施例中利用校验文件夹的这一特点,将目标渠道的定制资源文件插入到安装包中,可以节省现有技术中对安装包的编译或者重新构建等过程所耗费的时间,进而可以提高批量渠道打包的效率。
为达上述目的,本发明第四方面实施例提出了一种客户端,包括:
下载模块,从所选取的目标渠道中下载本发明第一方面实施例所述的支持渠道定制的渠道打包方法生成的目标安装包;
安装模块,用于对所述目标安装包进行解压缩,得到解压目标安装包,利用所述解压目标安装包完成应用程序的安装;
启动模块,用于当用户初次使用所述应用程序时,遍历所述解压目标安装包从中识别出校验文件夹,加载所述校验文件夹中的所述目标渠道对应的定制资源文件,根据所述定制资源文件向所述用户展示所述目标渠道的个性化定制,将所述定制资源文件保存在应用程序中。
本发明实施例的客户端,通过获取携带有渠道的定制资源文件的目标安装包并安装,在安装完成后,客户端初始启用应用程序时,可以从校验文件夹中加载该渠道的定制资源文件,利用该定制资源文件向用户展示渠道的格式化定制,并且可以将加载后的定制资源文件保存在应用程序中。本实施例实现了启动应用程序时,能够基于定制资源文件向用户展示渠道的个性化定制的目的。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种支持渠道定制的渠道打包方法的流程示意图;
图2为本发明实施例提供的另一种支持渠道定制的渠道打包方法的流程示意图;
图3为本发明实施例提供的一种应用程序的执行方法的流程示意图;
图4为本发明实施例提供的一种支持渠道定制的渠道打包方法的应用示意图;
图5为本发明实施例提供的一种支持渠道定制的渠道打包装置的结构示意图;
图6为本发明实施例提供的一种客户端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的支持渠道定制的渠道打包方法及装置、应用程序的执行方法及客户端。
图1为本发明实施例提供的一种支持渠道定制的渠道打包方法的流程示意图。如图1所示,该支持渠道定制的渠道打包方法包括以下步骤:
S101、获取应用程序的安装包,所述安装包为压缩包。
S102、向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。
其中,在客户端安装应用程序时,校验文件夹能够跳过客户端的操作系统对目标安装包进行的包校验过程。
实际应用中,为了防止应用程序的安装包受到恶意攻击,开发者在开发应用程序时,对安装包中的每个文件采取密钥对非对称的加密方式进行加密。具体地,通过开发者的私钥为应用程序的安装包中的所有文件生成签名信息,并且将所有文件的签名信息存储在一个校验文件夹中。例如,在支持Android操作系统的安装包中,该校验文件夹为安装包中的META-INFO。进一步地,将与私钥对应的公钥以及开发者的相关信息,添加到安装包中发布到渠道上,等待用户的下载。
当用户通过客户端从一个渠道下载了应用程序的安装包之后,可以使用携带在安装包中的公钥,对安装包进行包校验。具体地,客户端的操作系统可以利用公钥为安装包中的除校验文件夹之外的所有文件生成一个签名信息。针对安装包中的每个文件,将利用公钥生成的签名信息与校验文件夹中该文件的签名信息进行比较,如果安装包未遭到恶意篡改,利用公钥生成的签名信息与校验文件夹中存放的签名信息应该是一致的。如果安装包遭到恶意篡改,则会出现不一致的情况,该安装包则无法安装。
在客户端的操作系统对安装包中每个文件的签名信息进行比对的过程中,客户端的操作系统会略过校验文件夹,也就是说,在操作系统对安装包进行校验过程中,该校验文件夹中所有文件相当于透明的。基于上述原理,本实施例中在安装包中插入对应渠道的定制资源文件,通过定制资源文件可以更好地突出渠道的特色,而且有利于该渠道的推广。
进一步地,定制资源文件可以包括:目标渠道具有特色的欢迎页、引导页或者开机动画等内容。在将目标渠道的定制资源文件插入到安装包的校验文件夹之后,就可以得到适用于向目标渠道发布的目标安装包。本实施例中,为了提高插入定制资源文件的效率,可以在非解压状态下,直接向安装包中的校验文件夹中插入该定制资源文件。
可选地,在向安装包中的校验文件夹中插入目标渠道的定制资源文件时,可以同步地向校验文件夹中插入目标渠道的渠道号文件。其中,渠道号文件的文件名为目标渠道的渠道号。本实施例中,该渠道号文件为一个空白文件,用于对渠道进行配置,能够体现出安装包的来源为该渠道。
本发明实施例的支持渠道定制的渠道打包方法,通过获取应用程序的安装包,安装包为压缩包,向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。本实施例中,在客户端通过安装包安装应用程序时,客户端需要对安装包进行包校验的过程,由于安装包中的校验文件夹中存储的内容为安装包中各文件的签名信息,校验文件夹可以跳过客户端的包校验过程,本实施例中利用校验文件夹的这一特点,将目标渠道的定制资源文件插入到安装包中,可以节省现有技术中对安装包的编译或者重新构建等过程所耗费的时间,进而可以提高批量渠道打包的效率。
图2为本发明实施例提供的另一种支持渠道定制的渠道打包方法的流程示意图。本实施例的应用场景为需要在多个渠道上发布应用程序。如图2所示,该支持渠道定制的渠道打包方法包括以下步骤:
S201、统计应用程序需要发布的所有渠道的渠道数量。
S202、对安装包进行备份,获取与渠道数量相同数量的备份包。
其中,一个渠道对应一个备份包,备份包为压缩包。
S203、向每个备份包中的校验文件夹中分别插入该备份包所对应渠道的定制资源文件,得到各渠道的目标安装包。
具体地,当一个应用程序需要在多个渠道发布时,可以统计一下应用程序需要发布的所有渠道的渠道数量,然后对应用程序的安装包按照需要发布的所有渠道的渠道数量进行备份,即为每个渠道生成一个备份包。其中,应用程序的安装包和备份包均为压缩包。例如,该压缩包可以为一个zip格式的压缩包。
由于在对安装包进行包校验的过程中,安装包中的校验文件夹可以跳过该包校验过程。相应地,由于备份包为安装包的备份,也就是说,校验文件夹中存储有安装包中每个文件的签名信息,备份包中的校验文件夹同样可以跳过应用程序安装时的包校验过程。本实施例中,针对每个备份包,在该备份包中的校验文件夹中,插入与该备份包所对应的渠道的定制资源文件。
定制资源文件可以包括:目标渠道具有特色的欢迎页、引导页或者开机动画等内容。定制资源文件需要携带目标渠道的渠道标识,可以为该目标渠道的渠道号。其中,渠道号可以唯一标识一个渠道。在将各渠道的定制资源文件插入到对应备份包的校验文件夹之后,就可以得到各渠道发布时的目标安装包。
可选地,在向每个备份包中的所述校验文件夹中分别插入该备份包所对应的渠道的所述定制资源文件的同时,还可以同步地向该校验文件夹中插入渠道号文件。该渠道号文件可以为空白文件,通过渠道号来与其他渠道进行区分。本实施例中,直接向备份包中的校验文件夹中插入目标渠道的定制资源文件和/或渠道号文件,并不需要对备份包进行解压缩,从而可以提高处理的效率。
可选地,为了提高安装包的安全性,可以在对安装包进行备份,获取与渠道数量相同数量的备份包之前,对安装包进行安全加固处理。
本实施例中,在需要向多个渠道发布应用程序时,可以对安装包进行备份,为每个渠道生成一个对应的备份包。进一步地,在备份包中插入的文件为对应渠道的定制资源文件,从而可以实现对渠道的个性化配置,可以更好地突出渠道的特色,更加有利于该渠道的推广。
图3为本发明实施例提供的一种应用程序的执行方法的流程示意图。如图3所示,该应用程序的执行方法包括以下步骤:
S301、从所选取的目标渠道下载目标安装包。
本实施例中的执行主体为客户端。客户端可以从用户所选取的目标渠道上下载应用程序的目标安装包。其中,该目标安装包为上述实例中所述支持渠道定制的渠道打包方法打包生成的。
S302、对目标安装包进行解压缩得到解压目标安装包,利用解压目标安装包完成应用程序的安装。
具体地,目标安装包为一个压缩包,为了实现应用程序的安装,客户端可以对目标安装包进行解压缩,得到解压目标安装包,客户端就可以利用该解压目标安装包完成应用程序的安装。
在安装过程中还涉及到对目标安装包的校验,可参见上述实施例中相关内容的记载,此处不再赘述。
S303、当用户初次使用应用程序时,遍历解压目标安装包从中识别出校验文件夹。
进一步地,在应用程序安装完成后,用户可以使用该应用程序。当用户初始使用应用程序时,客户端可以遍历解压目标安装包,从该解压目标安装包中识别出校验文件夹。例如,客户端使用的Android操作系统,则校验文件夹为META-INF文件夹,客户端可以根据文件夹的标识即文件夹的名称,识别出校验文件夹。
S304、加载校验文件夹中的目标渠道对应的定制资源文件。
为了向用户显示目标渠道的个性化定制,在初次运行应用程序时,客户端需要将目标渠道对应的定制资源文件,从校验文件夹中加载到应用程序中。
S305、根据定制资源文件向用户展示目标渠道的个性化定制。
加载完成后,客户端就可以在应用程序中,根据定制资源文件绘制目标渠道的个性化定制的相关界面,可以将目标渠道的个性化定制展示给用户。
S306、将定制资源文件保存在应用程序中。
本实施例中,客户端将加载过来的定制资源文件,直接保存到应用程序中,这样用户下次使用应用程序时,客户端不需要再去遍历解压安装包,可以直接利用保存在应用程序中的定制资源文件,就可以向用户展示目标渠道的个性化定制。
本发明实施例的应用程序的执行方法,通过获取携带有渠道的定制资源文件的目标安装包并安装,在安装完成后,客户端初始启用应用程序时,可以从校验文件夹中加载该渠道的定制资源文件,利用该定制资源文件向用户展示渠道的格式化定制,并且可以将加载后的定制资源文件保存在应用程序中。本实施例实现了启动应用程序时,能够基于定制资源文件向用户展示渠道的个性化定制的目的。
以试用于Android操作系统的应用程序为例,对本发明实施例提供的支持渠道定制的渠道打包方法进行解释说明。图4为本发明实施例提供的一种支持渠道定制的渠道打包方法的应用示意图。该支持渠道定制的渠道打包方法包括以下步骤:
S401、应用程序的开发端获取APK需要发布的所有渠道。
具体地,在Android操作系统中应用程序的安装包为一个APK。在APK发布之前可以确定出需要发布的所有渠道。例如可以将所有渠道生成一个渠道列表。
S402、开发端统计所有渠道的渠道数量。
可以对APK需要发布的所有渠道的数量进行统计,以确定出需要对APK进行备份的数量。
S403、开发端对APK进行安全加固处理。
为了提高APK的安全性,可以对APK进行安全防护的预处理,具体地,可以对APK进行安全加固处理。具体地,可以将APK进行代码混淆,实现对APK中可执行文件的保护,该可执行文件可以为dex类型文件,然后对混淆后的APK进行加固。其中,对APK的安全加固可以由第三方平台进行。
S404、开发端通过python脚本按照渠道数量复制APK,得到每个渠道的备份APK。
具体地,可以通过面向对象的解释型计算机程序设计语言如python脚本,按照所有渠道的渠道数量对APK进行复制,得到与渠道数量一致的备份APK,即备份包,也就是说为每个渠道复制一个APK。每个备份包为一个压缩包。
S405、开发端向每个备份APK中的META-INF文件夹中插入所对应渠道的定制资源文件和渠道号文件,得到各渠道的目标APK。
在APK中校验文件夹为META-INF文件夹。可以向每个备份APK中的META-IN文件夹,插入所对应渠道的定制资源文件。定制资源文件可以包括:渠道具有特色的欢迎页、引导页或者开机动画等内容。定制资源文件的命名需要遵守约定的规则,比如欢迎页可以命名为Welcome。
进一步地,还可以向备份APK中的META-INF文件夹中插入所对应渠道的渠道号文件。
优选地,直接向备份APK中的META-INF文件夹中插入目标渠道的定制资源文件和渠道号文件,并不需要对备份APK进行解压缩,从而可以提高处理的效率。
对于一个10M-20M左右的安装包,现有技术中每个渠道打包耗时大约为2s,完成100个渠道打包的时间大概200m,而通过本实施例提供的支持渠道定制的渠道打包方法,完成100个渠道打包的时间大约为8-12s左右,极大的提高了多渠道打包的效率。
S406、开发端将每个目标APK发布到各自对应的渠道上。
在得到每个备份包的目标APK之后,就可以将各目标APK发布到各自对应的渠道上,以便于用户可以从该渠道上下载目标APK进行应用程序的安装。
S407、客户端从所选取的目标渠道上下载目标APK进行应用程序的安装。
具体地,当用户通过客户端从所选取的目标渠道上下载目标APK,下载完成后客户端通过一个面向对象编程语言(JAVA)所提供的zipFile类工具,对目标安装包进行解压缩,利用解压缩后的目标APK完成应用程序的安装。
S408、客户端在初次使用应用程序时,加载目标渠道的定制资源文件。
客户端遍历解压缩后目标APK下的所有文件,从中识别出META-INF文件夹中将之前插入的定制资源文件。如果META-INF文件夹中还包括渠道号文件,可以加载该渠道号文件。
S409、客户端根据定制资源文件向用户展示目标渠道的个性化定制。
加载完成后,客户端就可以在应用程序中,根据定制资源文件绘制目标渠道的个性化定制的相关界面,可以将目标渠道的个性化定制展示给用户。
S410、客户端将定制资源文件保存在应用程序中。
本实施例中,客户端将加载过来的定制资源文件,直接保存到应用程序中,这样用户下次使用应用程序时,客户端不需要再去遍历解压安装包,可以直接利用保存在应用程序中的定制资源文件,就可以向用户展示目标渠道的个性化定制。
本实施例中,由于避免了现有多渠道打包方法所需要的编译或者重新构建、解压、压缩以及重新签名等过程,从而可以批量多渠道打包时的效率,而且能够支持渠道的特征定制,便于渠道的推广。
本实施例中,将目标渠道的定制资源文件和渠道号文件直接插入到META-INF文件夹中,是直接修改了META-INF文件夹,并不会与APK安全加固处理存在冲突,通过安全加固处理可以更好地提高APK的安全性。
图5位本发明实施例提供的一种支持渠道定制的渠道打包装置的结构示意图。如图5所示,该支持渠道定制的渠道打包装置包括:获取模块11和插入模块12。
获取模块11,用于获取应用程序的安装包;其中,所述安装包为一个压缩包。
插入模块12,用于向所述安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于所述目标渠道的目标安装包。
其中,在客户端安装所述应用程序时,所述校验文件夹能够跳过所述客户端的操作系统对所述目标安装包进行的包校验过程。
进一步地,插入模块12,还用于在向所述安装包中的校验文件夹中插入目标渠道的定制资源文件时,同步地向所述校验文件夹中插入所述目标渠道的渠道号文件;所述渠道号文件的文件名为所述目标渠道的渠道号。
进一步地,所述支持渠道定制的渠道打包装置还包括统计模块13和备份模块14。
统计模块13,用于当所述应用程序需要向多个渠道发布时,统计所述应用程序需要发布的所有渠道的渠道数量。
备份模块14,用于对所述安装包进行备份,获取与所述渠道数据相同数量的备份包;其中,一个渠道对应一个所述备份包,所述备份包为一个压缩包。
插入模块12,还用于向每个备份包中的所述校验文件夹中插入该备份包所对应的渠道的所述定制资源文件,得到各渠道的所述目标安装包。
进一步地,所述支持渠道定制的渠道打包装置还包括:加固模块15。
加固模块15,用于对所述安装包进行备份,获取与所述渠道数量相同数量的备份包之前,对所述安装包进行安全加固处理。
本发明实施例的支持渠道定制的渠道打包装置,通过获取应用程序的安装包,向安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于目标渠道的目标安装包。本实施例中,在客户端通过安装包安装应用程序时,客户端需要对安装包进行包校验的过程,由于安装包中的校验文件夹中存储的内容为安装包中各文件的签名信息,校验文件夹可以跳过客户端对的包校验过程。本实施例中利用校验文件夹的这一特点,将目标渠道的定制资源文件插入到安装包中,可以节省现有技术中对安装包的编译或者重新构建等过程所耗费的时间,进而可以提高批量渠道打包的效率。
进一步地,在安装包中插入的文件为对应渠道的定制资源文件,从而可以实现对渠道的个性化配置,可以更好地突出渠道的特色,更加有利于该渠道的推广。
图6为本发明实施例提供一种客户端的结构示意图。如图6所示,该客户端包括:下载模块21、安装模块22和启动模块23。
下载模块21,从所选取的目标渠道中下载上述实施例中所述的支持渠道定制的渠道打包方法生成的目标安装包。
安装模块22,用于对所述目标安装包进行解压缩,得到解压目标安装包,利用所述解压目标安装包完成应用程序的安装。
启动模块23,用于当用户初次使用所述应用程序时,遍历所述解压目标安装包从中识别出校验文件夹,加载所述校验文件夹中的所述目标渠道对应的定制资源文件,根据所述定制资源文件向所述用户展示所述目标渠道的个性化定制,将所述定制资源文件保存在应用程序中。
本实施例提供的客户端,通过获取携带有渠道的定制资源文件的目标安装包并安装,在安装完成后,客户端初始启用应用程序时,可以从校验文件夹中加载该渠道的定制资源文件,利用该定制资源文件向用户展示渠道的格式化定制,并且可以将加载后的定制资源文件保存在应用程序中。本实施例实现了启动应用程序时,能够基于定制资源文件向用户展示渠道的个性化定制的目的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种支持渠道定制的渠道打包方法,其特征在于,包括:
获取应用程序的安装包;所述安装包为压缩包;
向所述安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于所述目标渠道的目标安装包;
其中,在客户端安装所述应用程序时,所述校验文件夹能够跳过所述客户端的操作系统对所述目标安装包进行的包校验过程。
2.根据权利要求1所述的支持渠道定制的渠道打包方法,其特征在于,在向所述安装包中的校验文件夹中插入目标渠道的定制资源文件时,
同步地向所述校验文件夹中插入所述目标渠道的渠道号文件;所述渠道号文件的文件名为所述目标渠道的渠道号。
3.根据权利要求1或2所述的支持渠道定制的渠道打包方法,其特征在于,当所述应用程序需要向多个渠道发布时,所述方法还包括:
统计所述应用程序需要发布的所有渠道的渠道数量;
对所述安装包进行备份,获取与所述渠道数量相同数量的备份包;其中,一个渠道对应一个所述备份包,所述备份包为压缩包;
向每个备份包中的所述校验文件夹中分别插入该备份包所对应渠道的定制资源文件,得到各渠道的目标安装包。
4.根据权利要求3所述的支持渠道定制的渠道打包方法,其特征在于,所述对所述安装包进行备份,获取与所述渠道数量相同数量的备份包之前,还包括:
对所述安装包进行安全加固处理。
5.一种应用程序的执行方法,其特征在于,包括:
从所选取的目标渠道下载如上权利要求1-4任一项所述的支持渠道定制的渠道打包方法得到的目标安装包;
对所述目标安装包进行解压缩得到解压目标安装包,利用所述解压目标安装包完成应用程序的安装;
当用户初次使用所述应用程序时,遍历所述解压目标安装包从中识别出校验文件夹;
加载所述校验文件夹中的所述目标渠道对应的定制资源文件;
根据所述定制资源文件向所述用户展示所述目标渠道的个性化定制;
将所述定制资源文件保存在所述应用程序中。
6.一种支持渠道定制的渠道打包装置,其特征在于,包括:
获取模块,用于获取应用程序的安装包;所述安装包为压缩包;
插入模块,用于向所述安装包中的校验文件夹中插入目标渠道的定制资源文件,得到适用于所述目标渠道的目标安装包;
其中,在客户端安装所述应用程序时,所述校验文件夹能够跳过所述客户端的操作系统对所述目标安装包进行的包校验过程。
7.根据权利要求6所述的支持渠道定制的渠道打包装置,其特征在于,所述插入模块,还用于在向所述安装包中的校验文件夹中插入目标渠道的定制资源文件时,同步地向所述校验文件夹中插入所述目标渠道的渠道号文件;所述渠道号文件的文件名为所述目标渠道的渠道号。
8.根据权利要求6或7所述的支持渠道定制的渠道打包装置,其特征在于,所述装置还包括:
统计模块,用于当所述应用程序需要向多个渠道发布时,统计所述应用程序需要发布的所有渠道的渠道数量;
备份模块,用于对所述安装包进行备份,获取与所述渠道数据相同数量的备份包;其中,一个渠道对应一个所述备份包,所述备份包为一个压缩包;
所述插入模块,还用于向每个备份包中的所述校验文件夹中插入该备份包所对应的渠道的所述定制资源文件,得到各渠道的所述目标安装包。
9.根据权利要求8所述的支持渠道定制的渠道打包装置,其特征在于,所述装置还包括:
加固模块,用于对所述安装包进行备份,获取与所述渠道数量相同数量的备份包之前,对所述安装包进行安全加固处理。
10.一种客户端,其特征在于,包括:
下载模块,从所选取的目标渠道中下载如上权利要求1-4任一项所述的支持渠道定制的渠道打包方法生成的目标安装包;
安装模块,用于对所述目标安装包进行解压缩,得到解压目标安装包,利用所述解压目标安装包完成应用程序的安装;
启动模块,用于当用户初次使用所述应用程序时,遍历所述解压目标安装包从中识别出校验文件夹,加载所述校验文件夹中的所述目标渠道对应的定制资源文件,根据所述定制资源文件向所述用户展示所述目标渠道的个性化定制,将所述定制资源文件保存在应用程序中。
CN201710132537.7A 2017-03-07 2017-03-07 支持渠道定制的渠道打包方法及装置 Pending CN106843909A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710132537.7A CN106843909A (zh) 2017-03-07 2017-03-07 支持渠道定制的渠道打包方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710132537.7A CN106843909A (zh) 2017-03-07 2017-03-07 支持渠道定制的渠道打包方法及装置

Publications (1)

Publication Number Publication Date
CN106843909A true CN106843909A (zh) 2017-06-13

Family

ID=59138778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710132537.7A Pending CN106843909A (zh) 2017-03-07 2017-03-07 支持渠道定制的渠道打包方法及装置

Country Status (1)

Country Link
CN (1) CN106843909A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107179931A (zh) * 2017-07-06 2017-09-19 广州优视网络科技有限公司 安装包打包方法、装置及系统
CN107403089A (zh) * 2017-07-10 2017-11-28 东软集团股份有限公司 基于应用程序的资源篡改识别方法和装置
CN107888565A (zh) * 2017-10-19 2018-04-06 厦门集微科技有限公司 安全处理的方法和装置及加密处理的方法和装置
CN107943494A (zh) * 2017-08-04 2018-04-20 上海壹账通金融科技有限公司 多渠道应用分发方法及移动终端
CN109344605A (zh) * 2018-09-10 2019-02-15 惠尔丰电子(北京)有限公司 一种智能pos机的权限控制方法及其控制系统
CN109542459A (zh) * 2018-09-29 2019-03-29 中国平安人寿保险股份有限公司 应用程序打包方法及装置、计算机装置及计算机存储介质
CN109766123A (zh) * 2018-12-24 2019-05-17 北京奇安信科技有限公司 应用程序封装方法及装置
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110795139A (zh) * 2019-09-12 2020-02-14 深圳壹账通智能科技有限公司 客户端批量打包方法、装置、计算机设备和存储介质
CN110990073A (zh) * 2019-11-13 2020-04-10 北京城市网邻信息技术有限公司 一种验证应用程序的定制需求的方法及装置
CN111078223A (zh) * 2018-10-22 2020-04-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN111367963A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 一种确定来源渠道的方法、装置、设备和计算机存储介质
CN111949273A (zh) * 2020-07-31 2020-11-17 深圳市珍爱云信息技术有限公司 一种基于iOS系统的文件提取方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899025A (zh) * 2015-05-18 2015-09-09 北京奇虎科技有限公司 一种生成渠道包的方法和装置
CN105068853A (zh) * 2015-07-16 2015-11-18 贵阳语玩科技有限公司 渠道包的输出方法及装置
CN105893008A (zh) * 2015-11-16 2016-08-24 乐视网信息技术(北京)股份有限公司 一种定制多渠道安装包的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899025A (zh) * 2015-05-18 2015-09-09 北京奇虎科技有限公司 一种生成渠道包的方法和装置
CN105068853A (zh) * 2015-07-16 2015-11-18 贵阳语玩科技有限公司 渠道包的输出方法及装置
CN105893008A (zh) * 2015-11-16 2016-08-24 乐视网信息技术(北京)股份有限公司 一种定制多渠道安装包的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
砺雪凝霜: "Android多渠道打包", 《HTTPS://WWW.JIANSHU.COM/P/5EAB74370AA4》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107179931A (zh) * 2017-07-06 2017-09-19 广州优视网络科技有限公司 安装包打包方法、装置及系统
CN107403089A (zh) * 2017-07-10 2017-11-28 东软集团股份有限公司 基于应用程序的资源篡改识别方法和装置
CN107943494A (zh) * 2017-08-04 2018-04-20 上海壹账通金融科技有限公司 多渠道应用分发方法及移动终端
CN107888565A (zh) * 2017-10-19 2018-04-06 厦门集微科技有限公司 安全处理的方法和装置及加密处理的方法和装置
CN109344605A (zh) * 2018-09-10 2019-02-15 惠尔丰电子(北京)有限公司 一种智能pos机的权限控制方法及其控制系统
CN109344605B (zh) * 2018-09-10 2022-04-05 惠尔丰(中国)信息系统有限公司 一种智能pos机的权限控制方法及其控制系统
CN109542459A (zh) * 2018-09-29 2019-03-29 中国平安人寿保险股份有限公司 应用程序打包方法及装置、计算机装置及计算机存储介质
CN111078223B (zh) * 2018-10-22 2021-09-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN111078223A (zh) * 2018-10-22 2020-04-28 腾讯科技(深圳)有限公司 一种应用程序的打包方法及装置
CN109766123A (zh) * 2018-12-24 2019-05-17 北京奇安信科技有限公司 应用程序封装方法及装置
CN109766123B (zh) * 2018-12-24 2022-06-10 奇安信科技集团股份有限公司 应用程序封装方法及装置
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110795139A (zh) * 2019-09-12 2020-02-14 深圳壹账通智能科技有限公司 客户端批量打包方法、装置、计算机设备和存储介质
CN110990073A (zh) * 2019-11-13 2020-04-10 北京城市网邻信息技术有限公司 一种验证应用程序的定制需求的方法及装置
CN110990073B (zh) * 2019-11-13 2023-09-29 北京城市网邻信息技术有限公司 一种验证应用程序的定制需求的方法及装置
CN111367963A (zh) * 2020-02-28 2020-07-03 北京百度网讯科技有限公司 一种确定来源渠道的方法、装置、设备和计算机存储介质
CN111949273A (zh) * 2020-07-31 2020-11-17 深圳市珍爱云信息技术有限公司 一种基于iOS系统的文件提取方法及装置

Similar Documents

Publication Publication Date Title
CN106843909A (zh) 支持渠道定制的渠道打包方法及装置
CN108829405B (zh) 渠道包的生成方法及装置、存储介质、电子装置
CN106775723B (zh) 基于Android平台的系统固件定制的方法和Android设备
US9766870B2 (en) Bundle package generation
CN102455912B (zh) 运行时扩展
CN104781785B (zh) 为应用从中间语言代码生成本机代码
CN107589947A (zh) 一种sdk接入方法、客户端及系统
CN104008060B (zh) 插件与宿主兼容性的检测方法及检测服务器
US20140357357A1 (en) Game bundle package
CN107391169A (zh) 安卓页面的动态更新方法和装置
US20140359606A1 (en) Bundle package retrieving
CN107506221A (zh) 应用程序升级方法、装置及设备
CN105094913B (zh) 系统、基带固件和系统应用升级方法及装置
CN105159732B (zh) 在移动终端安装或更新应用程序的方法和移动终端
CN109542459A (zh) 应用程序打包方法及装置、计算机装置及计算机存储介质
CN106897587A (zh) 加固应用、加载加固应用的方法和装置
US20140359605A1 (en) Bundle package signing
CN111158737A (zh) 一种增量升级方法和相关设备
CN106355049A (zh) 一种加固安卓安装包的动态链接库so文件的方法和装置
US8607191B2 (en) Automated discovery of programmatic resources
CN109598107A (zh) 一种基于应用安装包文件的代码转换方法及装置
CN106843939A (zh) 应用的渠道包的生成方法及装置
CN108846264A (zh) 代码加固方法、装置、智能终端和计算机可读存储介质
CN106648724A (zh) 应用程序的热修复方法及终端
CN107797819A (zh) 增量包生成方法、计算机可读存储介质及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170613

RJ01 Rejection of invention patent application after publication