著录项信息
专利名称 | APK的开发方法和装置 |
申请号 | CN201110461665.9 | 申请日期 | 2011-12-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-07-03 | 公开/公告号 | CN103186380A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/44 | IPC分类号 | G;0;6;F;9;/;4;4;;;G;0;6;F;9;/;4;5查看分类表>
|
申请人 | 北大方正集团有限公司;北京北大方正电子有限公司 | 申请人地址 | 北京市海淀区成府路298号方正大厦5层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京北大方正电子有限公司,北大方正集团有限公司 | 当前权利人 | 北京北大方正电子有限公司,北大方正集团有限公司 |
发明人 | 刘存栋;王玮;纪永凤 |
代理机构 | 北京英赛嘉华知识产权代理有限责任公司 | 代理人 | 王达佐 |
摘要
本发明提供了一种APK的开发方法和装置,方法包括:替换源工程目录中的资源文件、以及修改源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息;将资源文件和AndroidMainfest.xml文件放到APK的根目录下、以及将源工程目录中的Java源代码编译成Class字节码,然后将Class字节码处理为Dex字节码,并放到APK的根目录下;将根目录中的Dex字节码、AndroidMainfest.xml文件和资源文件打包得到APK。本发明可以重用源代码来开发不同版本的APK。
1.一种APK的开发方法,其特征在于,包括:
替换源工程目录中的资源文件、以及修改所述源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息,修改所述源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息包括:根据用户的要求,设置所述通用信息中的服务器地址、APK名称和package name;
将所述资源文件和所述AndroidMainfest.xml文件放到所述APK的根目录下、以及将所述源工程目录中的Java源代码编译成Class字节码,然后将所述Class字节码处理为Dex字节码,并放到所述APK的根目录下;
将所述根目录中的所述Dex字节码、所述AndroidMainfest.xml文件和所述资源文件打包得到APK。
2.根据权利要求1所述的方法,其特征在于,所述资源文件包括图片资源。
3.根据权利要求1所述的方法,其特征在于,还包括:
对所述APK进行签名。
4.根据权利要求3所述的方法,其特征在于,还包括:
对所述签名的APK检查完整性。
5.一种APK的开发装置,其特征在于,包括:
修改模块,用于替换源工程目录中的资源文件、以及修改所述源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息,所述修改模块用于根据用户的要求,设置所述通用信息中的服务器地址、APK名称和package name;
编译模块,用于将所述资源文件和所述AndroidMainfest.xml文件放到所述APK的根目录下、以及将所述源工程目录中的Java源代码编译成Class字节码,然后将所述Class字节码处理为Dex字节码,并放到所述APK的根目录下;
打包模块,用于将所述根目录中的所述Dex字节码、所述AndroidMainfest.xml文件和所述资源文件打包得到APK。
6.根据权利要求5所述的装置,其特征在于,所述资源文件包括图片资源。
7.根据权利要求5所述的装置,其特征在于,还包括:
签名模块,用于对所述APK进行签名。
8.根据权利要求7所述的装置,其特征在于,还包括:
检查模块,用于对所述签名的APK检查完整性。
APK的开发方法和装置\n技术领域\n[0001] 本发明涉及软件开发领域,具体而言,涉及一种APK(Android PacKage,安卓包)的开发方法和装置。\n背景技术\n[0002] APK的源代码可以分为三部分:Java源代码、AndroidMainfest.xml文件、资源文件。AndroidMainfest.xml文件是APK的全局配置文件,位于APK的根目录下,描述了APK中的全局数据,包括APK中暴露的组件(activities、services等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。\n[0003] 图1示出了APK的常规编译过程,包括以下步骤:\n[0004] 1、通过Java编译器将Java源代码编译成Class字节码,然后再通过Android自带的DX工具,将Class字节码处理为Dex字节码。最后,使用aapt工具将Dex字节码放到APK的根目录;\n[0005] 2、使用Android自带的aapt工具将AndroidMainfest.xml文件进行处理,并且放到APK的根目录;\n[0006] 3、使用Android自带的aapt工具将资源文件进行处理,并且放到APK的根目录;\n[0007] 4、以上三个步骤形成的文件打包得到一个完整的APK。\n[0008] 5、对上一步得到的APK进行签名。\n发明内容\n[0009] 本发明旨在提供一种APK的开发方法和装置,以重用源代码来开发不同版本的APK。\n[0010] 在本发明的实施例中,提供了一种APK的开发方法,包括:替换源工程目录中的资源文件、以及修改源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息,修改所述源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息包括:根据用户的要求,设置所述通用信息中的服务器地址、APK名称和package name;\n将资源文件和AndroidMainfest.xml文件放到APK的根目录下、以及将源工程目录中的Java源代码编译成Class字节码,然后将Class字节码处理为Dex字节码,并放到APK的根目录下;将根目录中的Dex字节码、AndroidMainfest.xml文件和资源文件打包得到APK。\n[0011] 在本发明的实施例中,提供了一种APK的开发装置,包括:修改模块,用于替换源工程目录中的资源文件、以及修改源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息,所述修改模块用于根据用户的要求,设置所述通用信息中的服务器地址、APK名称和package name;编译模块,用于将资源文件和AndroidMainfest.xml文件放到APK的根目录下、以及将源工程目录中的Java源代码编译成Class字节码,然后将Class字节码处理为Dex字节码,并放到APK的根目录下;打包模块,用于将根目录中的Dex字节码、AndroidMainfest.xml文件和资源文件打包得到APK。\n[0012] 本发明上述实施例的APK的开发方法和装置可重用源代码来开发不同版本的APK。\n附图说明\n[0013] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0014] 图1示出了APK的常规编译过程;\n[0015] 图2示出了根据本发明实施例的APK的开发方法的流程图;\n[0016] 图3示出了根据本发明实施例的APK的编译过程;\n[0017] 图4示出了根据本发明实施例的APK的开发装置的示意图。\n具体实施方式\n[0018] 下面将参考附图并结合实施例,来详细说明本发明。\n[0019] 图2示出了根据本发明实施例的APK的开发方法的流程图,包括:\n[0020] 步骤S10,替换源工程目录中的资源文件、以及修改源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息;\n[0021] 步骤S20,将资源文件和AndroidMainfest.xml文件放到APK的根目录下、以及将源工程目录中的Java源代码编译成Class字节码,然后将Class字节码处理为Dex字节码,并放到APK的根目录下;\n[0022] 步骤S30,将根目录中的Dex字节码、AndroidMainfest.xml文件和资源文件打包得到APK。\n[0023] 本方法通过替换资源文件和修改通用信息,避免了需要全部地重新编写源代码,从而实现了重用源代码来开发不同版本的APK,以满足各种个性化的用户需求。\n[0024] 另外,本方法可以很容易地通过计算机编程来实现,从而可以自动地实现各种版本的APK的编译,以减少重复繁琐劳动,方便开发者对编译记录进行查询和统计。\n[0025] 优选地,资源文件包括图片资源如LOGO等。图片资源是比较典型的个性化需求。\n[0026] 优选地,步骤S20包括:根据用户的要求,设置通用信息中的服务器地址、APK名称和package name。修改服务器地址、APK名称和package name是比较典型的个性化需求。\n[0027] 优选地,本方法还包括:对APK进行签名。这可以增强APK的安全性。\n[0028] 优选地,本方法还包括:对签名的APK检查完整性。这可以增强APK的安全性。\n[0029] 图3示出了根据本发明实施例的APK的编译过程,与图1相比较,本方法增加了替换图片资源和配置信息的步骤、以及替换Java源代码中的APK名称和AndroidMainfest.xml文件中的APK名称的步骤。\n[0030] 图4示出了根据本发明实施例的APK的开发装置的示意图,包括:\n[0031] 修改模块10,用于替换源工程目录中的资源文件、以及修改源工程目录中的AndroidMainfest.xml文件和Java源代码中记载的通用信息;\n[0032] 编译模块20,用于将资源文件和AndroidMainfest.xml文件放到APK的根目录下、以及将源工程目录中的Java源代码编译成Class字节码,然后将Class字节码处理为Dex字节码,并放到APK的根目录下;\n[0033] 打包模块30,用于将根目录中的Dex字节码、AndroidMainfest.xml文件和资源文件打包得到APK。\n[0034] 本装置可重用源代码来开发不同版本的APK。\n[0035] 优选地,资源文件包括图片资源。图片资源是比较典型的个性化需求。\n[0036] 优选地,修改模块用于根据用户的要求,设置通用信息中的服务器地址、APK名称和Package name。修改服务器地址、APK名称和package name是比较典型的个性化需求。\n[0037] 优选地,本装置还包括:签名模块,用于对APK进行签名。这可以增强APK的安全性。\n[0038] 优选地,本装置还包括:检查模块,用于对签名的APK检查完整性。这可以增强APK的安全性。\n[0039] 从以上的描述中可以看出,本发明可以为重用源代码以开发不同版本的APK节约时间,提高了编译个性化APK的效率。\n[0040] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。\n[0041] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2020-12-11
未缴年费专利权终止
IPC(主分类): G06F 9/44
专利号: ZL 201110461665.9
申请日: 2011.12.31
授权公告日: 2016.04.20
- 2016-04-20
- 2013-07-31
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201110461665.9
申请日: 2011.12.31
- 2013-07-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-11-09
|
2011-06-30
| | |
2
| |
2011-05-11
|
2010-12-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |