一种带有渠道信息的应用文件打包系统及方法与流程

文档序号:12463294阅读:来源:国知局

技术特征:

1.一种带有渠道信息的应用文件打包系统,其特征在于:所述系统包括压缩模块、解压缩模块、列表模块、渠道文件模块和读取模块;

压缩模块,用于将读取模块和待打包的应用文件编译和压缩为安卓安装包APK文件;

解压缩模块,用于将APK文件解压缩到指定的目录,所述指定的目录包括APK文件解压缩后生成的META-INF目录;

列表模块,用于创建渠道列表文件,将多个渠道的渠道信息存入所述渠道列表文件,所述渠道信息包括渠道的渠道名;

渠道文件模块,用于从所述渠道列表文件中依次获取多个渠道的渠道信息,对于获取的任一个渠道的渠道信息,在META-INF目录中创建一渠道文件,将所述渠道信息存入所述渠道文件中,对所述指定的目录中的所有文件进行压缩,获得带有所述渠道信息的APK文件;

读取模块,用于从带有所述渠道信息的APK文件安装后生成的应用文件中读取所述渠道信息。

2.如权利要求1所述的带有渠道信息的应用文件打包系统,其特征在于:所述渠道信息为文本格式的数据,所述渠道列表文件包括逐行的文本格式的数据,每一行包括一个渠道的渠道信息。

3.如权利要求1所述的带有渠道信息的应用文件打包系统,其特征在于:带有所述渠道信息的APK文件安装后生成应用文件,应用运行时,所述读取模块通过安卓上下文环境Context获得该应用的属性对象,并通过所述属性对象获取该应用的源目录;以所述源目录作为安卓ZipFile类的参数创建安卓ZipFile类的对象;从创建的安卓ZipFile类的对象里查找所述渠道文件,打开找到的渠道文件,从找到的渠道文件中获取存储的渠道信息。

4.一种基于权利要求1所述系统的带有渠道信息的应用文件打包方法,其特征在于,包括以下步骤:

S1.压缩模块将读取模块和将待打包的应用文件编译和压缩为安卓安装包APK文件;

S2.解压缩模块将APK文件解压缩到指定的目录,所述指定的目录包括APK文件解压缩后生成的META-INF目录;

S3.列表模块创建渠道列表文件,将多个渠道的渠道信息存入所述渠道列表文件,所述渠道信息包括渠道的渠道名;

S4.渠道文件模块从所述渠道列表文件中依次获取多个渠道的渠道信息,对于获取的任一个渠道的渠道信息,在META-INF目录中创建一渠道文件,将所述渠道信息存入所述渠道文件中,对所述指定的目录中的所有文件进行压缩,获得带有所述渠道信息的APK文件。

5.如权利要求4所述的带有渠道信息的应用文件打包方法,其特征在于:所述渠道信息为文本格式的数据,所述渠道列表文件包括逐行的文本格式的数据,每一行包括一个渠道的渠道信息。

6.如权利要求5所述的带有渠道信息的应用文件打包方法,其特征在于:步骤S4中,从所述渠道列表文件中逐行读取渠道的渠道信息。

7.如权利要求5所述的带有渠道信息的应用文件打包方法,其特征在于,步骤S4包括:

S4.1渠道文件模块获取所述渠道列表文件中渠道的总数;

S4.2从所述渠道列表文件中获取第一个渠道的渠道信息,将第一个渠道作为当前渠道;

S4.3记录已经读取的渠道的总数和所述当前渠道在所述渠道列表文件中的位置;

S4.4在META-INF目录中创建一渠道文件,将所述当前渠道的渠道信息存入所述渠道文件中;

S4.5对所述指定的目录中的所有文件进行压缩,获得带有所述渠道信息的APK文件;

S4.6判断已经读取的渠道的总数是否等于所述渠道列表文件中渠道的总数,若是,结束;若否,进入S4.7;

S4.7根据所述当前渠道在所述渠道列表文件中的位置,获取所述当前渠道的位置之后的渠道作为更新后的当前渠道,获取更新后的当前渠道的渠道信息,进入S4.3。

8.如权利要求7所述的带有渠道信息的应用文件打包方法,其特征在于,步骤S4.5包括:

S4.5a以所述指定的目录作为参数创建Python ZipFile函数的对象,所述Python ZipFile函数的对象包括成员函数write和作为输出结果的压缩文件,所述压缩文件的文件名后缀为zip;

S4.5b遍历所述指定的目录中的所有文件,并通过成员函数write将遍历的文件依次写入所述压缩文件;

S4.5c将所述压缩文件的文件名后缀zip更改为apk。

9.如权利要求4所述的带有渠道信息的应用文件打包方法,其特征在于,所述方法还包括:

S5.读取模块从带有所述渠道信息的APK文件安装后生成的应用文件中读取所述渠道信息。

10.如权利要求9所述的带有渠道信息的应用文件打包方法,其特征在于,步骤S5包括:

S5.1应用运行时,读取模块通过安卓上下文环境Context获得该应用的属性对象,并通过所述属性对象获取该应用的源目录;

S5.2以所述源目录作为参数创建安卓ZipFile类的对象;

S5.3从创建的安卓ZipFile类的对象里查找所述渠道文件,打开找到的渠道文件,从找到的渠道文件中获取存储的渠道信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1