本发明专利技术公开了一种Dalvik虚拟机兼容不同文件格式java应用的方法及装置,涉及java应用技术,所述方法包括如下步骤:Dalvik虚拟机对来自外部java程序的文件格式进行判断;若判断该java程序的格式为dex文件格式,则按dex文件格式对该java程序进行检验,并在校验成功后对其进行加载;若判断该java程序的格式为jar文件格式,则按jar文件格式对该java程序进行检验,并在校验成功后对其进行加载。本发明专利技术能够使Android自带的Dalvik虚拟机兼容jar文件格式的java应用。
【技术实现步骤摘要】
本专利技术涉及java应用技术,特别涉及一种Dalvik虚拟机兼容不同文件格式java应用的方法及相关装置,用于为Dalvik虚拟机增加功能,使其支持jar文件格式的java应用。
技术介绍
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。Android的应用程序都按dex字节码格式生成,所以Android自带的Dalvik虚拟机,不支持原有的按jar字节码格式生成的java程序。为保护原有劳动成果,需要让Dalvik虚拟机支持jar字节码格式的java程序。需要使Dalvik虚拟机增加支持,以兼容原有java程序。
技术实现思路
本专利技术的目的在于提供一种Dalvik虚拟机兼容不同文件格式java应用的方法及装置,能更好地解决Dalvik虚拟机兼容不同文件格式java应用的问题。根据本专利技术的一个方面,提供了一种Dalvik虚拟机兼容不同文件格式java应用的方法,包括如下步骤:Dalvik虚拟机对来自外部java程序的文件格式进行判断;若判断该java程序的格式为dex文件格式,则按dex文件格式对该java程序进行检验,并在校验成功后对其进行加载;若判断该java程序的格式为jar文件格式,则按jar文件格式对该java程序进行检验,并在校验成功后对其进行加载。优选地,Dalvik虚拟机读取java程序的文件头,并根据所读取的文件头,判断所述java程序的格式是dex文件格式还是jar文件格式。优选地,所述按jar文件格式对该java程序进行检验的步骤包括:Dalvik虚拟机创建jar校验器,并利用所述jar校验器对所述java程序的元数据进行校验。优选地,对所述jar文件格式的java程序校验成功后,还包括:Dalvik虚拟机对所述jar文件格式的java程序是否存在数字签名进行判断,并在判断该java程序存在数字签名时,对所述数字签名进行校验。优选地,所述加载步骤包括:Dalvik虚拟机利用jar文件格式的类加载器加载jar文件格式的java程序,并按照jar文件格式解析并执行所加载的java程序。优选地,所述按dex文件格式对该java程序进行校验的步骤包括:Dalvik虚拟机利用其dex校验器对所述dex文件格式的java程序的元数据进行校验。优选地,对所述dex文件格式的java程序校验成功后,还包括:Dalvik虚拟机对所述dex文件格式的java程序是否存在数字签名进行判断,并在判断该java程序存在数字签名时,对所述数字签名进行校验。优选地,所述加载步骤包括:Dalvik虚拟机利用dex文件格式的类加载器加载dex文件格式的java程序,并按照dex文件格式解析并执行所加载的java程序。根据本专利技术的另一方面,提供了一种Dalvik虚拟机兼容不同文件格式java应用的装置,包括:格式判断模块,用于对来自外部java程序的文件格式进行判断;dex文件格式java程序处理模块,用于在判断该java程序的格式为dex文件格式时,按dex文件格式对该java程序进行检验,并在校验成功后对其进行加载;jar文件格式java程序处理模块,用于在判断该java程序的格式为jar文件格式时,按jar文件格式对该java程序进行检验,并在校验成功后对其进行加载。优选地,还包括:数字签名处理模块,用于对Dex文件格式或jar文件格式的java程序是否存在数字签名进行判断,并在判断所述java程序存在数字签名时,对所述数字签名进行校验。与现有技术相比较,本专利技术的有益效果在于:本专利技术能够使dalvik虚拟机兼容jar字节码格式的java程序。附图说明图1是本专利技术实施例提供的Dalvik虚拟机兼容不同文件格式java应用的方法原理框图;图2是本专利技术实施例提供的Dalvik虚拟机兼容不同文件格式java应用的流程图;图3是本专利技术实施例提供的对java程序加载的判断流程;图4是本专利技术实施例提供的Dalvik虚拟机兼容不同文件格式java应用的装置框图。具体实施方式以下结合附图对本专利技术的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1是本专利技术实施例提供的Dalvik虚拟机兼容不同文件格式java应用的方法原理框图,如图1所示,步骤包括:步骤101、Dalvik虚拟机对来自外部java程序的文件格式进行判断。在所述步骤101中,Dalvik虚拟机读取java程序的文件头,并根据所读取的文件头,判断所述java程序的格式是dex文件格式还是jar文件格式。步骤102、若判断该java程序的格式为dex文件格式,则按dex文件格式对该java程序进行检验,并在校验成功后对其进行加载。在所述步骤102中,首先,Dalvik虚拟机创建jar校验器,并利用所述jar校验器对所述java程序的元数据进行校验。其次,对所述java程序是否存在数字签名进行判断,并在判断该java程序存在数字签名时,对所述数字签名进行校验。然后,利用jar文件格式的类加载器加载jar文件格式的java程序,并按照jar文件格式解析并执行所加载的java程序。步骤103、若判断该java程序的格式为jar文件格式,则按jar文件格式对该java程序进行检验,并在校验成功后对其进行加载。在所述步骤103中,首先,Dalvik虚拟机利用其dex校验器对所述dex文件格式的java程序的元数据进行校验。其次,对所述dex格式的java程序是否存在数字签名进行判断,并在判断该java程序存在数字签名时,对所述数字签名进行校验。然后,利用dex文件格式的类加载器加载dex文件格式的java程序,并按照dex文件格式解析并执行所加载的java程序。也就是说,java程序有文件头,对于jar字节码格式的java程序,其文件头以PK为magic number开头,对于Dex字节码格式的java程序,其文件头以dex开头。因此,通过对java程序的文件头进行校验,能够区分java程序的文件格式,从而按照不同的标准进行解释。图2是本专利技术实施例提供的Dalvik虚拟机兼容不同文件格式java应用的流程图,如图2所示,包括:步骤200、Dalvik虚拟机判断java程序的文件格式是dex字节码格式还是jar字节码格式,并在判断所述java程序是dex字本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种Dalvik虚拟机兼容不同文件格式java应用的方法,其特征在于,包
括如下步骤:
Dalvik虚拟机对来自外部java程序的文件格式进行判断;
若判断该java程序的格式为dex文件格式,则按dex文件格式对该java
程序进行检验,并在校验成功后对其进行加载;
若判断该java程序的格式为jar文件格式,则按jar文件格式对该java
程序进行检验,并在校验成功后对其进行加载。
2.根据权利要求1所述的方法,其特征在于,Dalvik虚拟机读取java程
序的文件头,并根据所读取的文件头,判断所述java程序的格式是dex文件格
式还是jar文件格式。
3.根据权利要求1或2所述的方法,其特征在于,所述按jar文件格式对
该java程序进行检验的步骤包括:
Dalvik虚拟机创建jar校验器,并利用所述jar校验器对所述java程序的
元数据进行校验。
4.根据权利要求3所述的方法,其特征在于,对所述jar文件格式的java
程序校验成功后,还包括:
Dalvik虚拟机对所述java程序是否存在数字签名进行判断,并在判断该
java程序存在数字签名时,对所述数字签名进行校验。
5.根据权利要求4所述的方法,其特征在于,所述加载步骤包括:
Dalvik虚拟机利用jar文件格式的类加载器加载jar文件格式的java程序,
并按照jar文件格式解析并执行所加载的java程序。
6.根据权利要求1或2所述的方法,其特征在于,所述按dex文件格式对
该...
【专利技术属性】
技术研发人员:黄宇轩,尹成水,路芳芳,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。