[發(fā)明專利]一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201210452681.6 | 申請(qǐng)日: | 2012-11-13 |
| 公開(公告)號(hào): | CN103809992B | 公開(公告)日: | 2018-01-09 |
| 發(fā)明(設(shè)計(jì))人: | 黃宇軒;尹成水;路芳芳 | 申請(qǐng)(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 北京元本知識(shí)產(chǎn)權(quán)代理事務(wù)所11308 | 代理人: | 秦力軍 |
| 地址: | 518057 廣東省深圳市南山*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 dalvik 虛擬機(jī) 兼容 不同 文件格式 java 應(yīng)用 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及java應(yīng)用技術(shù),特別涉及一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法及相關(guān)裝置,用于為Dalvik虛擬機(jī)增加功能,使其支持jar文件格式的java應(yīng)用。
背景技術(shù)
Android是一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。Android的應(yīng)用程序都按dex字節(jié)碼格式生成,所以Android自帶的Dalvik虛擬機(jī),不支持原有的按jar字節(jié)碼格式生成的java程序。
為保護(hù)原有勞動(dòng)成果,需要讓Dalvik虛擬機(jī)支持jar字節(jié)碼格式的java程序。需要使Dalvik虛擬機(jī)增加支持,以兼容原有java程序。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法及裝置,能更好地解決Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的問題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法,包括如下步驟:
Dalvik虛擬機(jī)對(duì)來自外部java程序的文件格式進(jìn)行判斷;
若判斷該java程序的格式為dex文件格式,則按dex文件格式對(duì)該java程序進(jìn)行檢驗(yàn),并在校驗(yàn)成功后對(duì)其進(jìn)行加載;
若判斷該java程序的格式為jar文件格式,則按jar文件格式對(duì)該java程序進(jìn)行檢驗(yàn),并在校驗(yàn)成功后對(duì)其進(jìn)行加載。
優(yōu)選地,Dalvik虛擬機(jī)讀取java程序的文件頭,并根據(jù)所讀取的文件頭,判斷所述java程序的格式是dex文件格式還是jar文件格式。
優(yōu)選地,所述按jar文件格式對(duì)該java程序進(jìn)行檢驗(yàn)的步驟包括:
Dalvik虛擬機(jī)創(chuàng)建jar校驗(yàn)器,并利用所述jar校驗(yàn)器對(duì)所述java程序的元數(shù)據(jù)進(jìn)行校驗(yàn)。
優(yōu)選地,對(duì)所述jar文件格式的java程序校驗(yàn)成功后,還包括:
Dalvik虛擬機(jī)對(duì)所述jar文件格式的java程序是否存在數(shù)字簽名進(jìn)行判斷,并在判斷該java程序存在數(shù)字簽名時(shí),對(duì)所述數(shù)字簽名進(jìn)行校驗(yàn)。
優(yōu)選地,所述加載步驟包括:
Dalvik虛擬機(jī)利用jar文件格式的類加載器加載jar文件格式的java程序,并按照jar文件格式解析并執(zhí)行所加載的java程序。
優(yōu)選地,所述按dex文件格式對(duì)該java程序進(jìn)行校驗(yàn)的步驟包括:
Dalvik虛擬機(jī)利用其dex校驗(yàn)器對(duì)所述dex文件格式的java程序的元數(shù)據(jù)進(jìn)行校驗(yàn)。
優(yōu)選地,對(duì)所述dex文件格式的java程序校驗(yàn)成功后,還包括:
Dalvik虛擬機(jī)對(duì)所述dex文件格式的java程序是否存在數(shù)字簽名進(jìn)行判斷,并在判斷該java程序存在數(shù)字簽名時(shí),對(duì)所述數(shù)字簽名進(jìn)行校驗(yàn)。
優(yōu)選地,所述加載步驟包括:
Dalvik虛擬機(jī)利用dex文件格式的類加載器加載dex文件格式的java程序,并按照dex文件格式解析并執(zhí)行所加載的java程序。
根據(jù)本發(fā)明的另一方面,提供了一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的裝置,包括:
格式判斷模塊,用于對(duì)來自外部java程序的文件格式進(jìn)行判斷;
dex文件格式j(luò)ava程序處理模塊,用于在判斷該java程序的格式為dex文件格式時(shí),按dex文件格式對(duì)該java程序進(jìn)行檢驗(yàn),并在校驗(yàn)成功后對(duì)其進(jìn)行加載;
jar文件格式j(luò)ava程序處理模塊,用于在判斷該java程序的格式為jar文件格式時(shí),按jar文件格式對(duì)該java程序進(jìn)行檢驗(yàn),并在校驗(yàn)成功后對(duì)其進(jìn)行加載。
優(yōu)選地,還包括:
數(shù)字簽名處理模塊,用于對(duì)Dex文件格式或jar文件格式的java程序是否存在數(shù)字簽名進(jìn)行判斷,并在判斷所述java程序存在數(shù)字簽名時(shí),對(duì)所述數(shù)字簽名進(jìn)行校驗(yàn)。
與現(xiàn)有技術(shù)相比較,本發(fā)明的有益效果在于:本發(fā)明能夠使dalvik虛擬機(jī)兼容jar字節(jié)碼格式的java程序。
附圖說明
圖1是本發(fā)明實(shí)施例提供的Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法原理框圖;
圖2是本發(fā)明實(shí)施例提供的Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的流程圖;
圖3是本發(fā)明實(shí)施例提供的對(duì)java程序加載的判斷流程;
圖4是本發(fā)明實(shí)施例提供的Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的裝置框圖。
具體實(shí)施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210452681.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:屬性攜帶方法及裝置
- 下一篇:一種粘膠短纖維紡絲后處理方法
- 一種Dalvik虛擬機(jī)兼容不同文件格式j(luò)ava應(yīng)用的方法及裝置
- 一種基于Dalvik指令和權(quán)限組合的安卓惡意軟件檢測(cè)方法
- 一種基于混合特征的Android惡意軟件檢測(cè)方法及系統(tǒng)
- 一種基于Dalvik指令抽象的Android惡意代碼檢測(cè)方法
- 一種基于虛擬機(jī)指令修改的Android應(yīng)用加固系統(tǒng)及方法
- 一種惡意軟件檢測(cè)方法及系統(tǒng)
- 惡意APK檢測(cè)方法、系統(tǒng)、數(shù)據(jù)存儲(chǔ)設(shè)備和檢測(cè)程序
- 一種惡意軟件檢測(cè)方法及系統(tǒng)
- Dalvik垃圾回收抑制的方法及裝置、終端和存儲(chǔ)介質(zhì)
- 一種DEX文件虛擬化加密方法、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種可信虛擬機(jī)平臺(tái)
- 虛擬機(jī)參數(shù)遷移的方法、設(shè)備和虛擬機(jī)服務(wù)器
- 一種虛擬機(jī)系統(tǒng)及其安全控制方法
- 一種云計(jì)算系統(tǒng)動(dòng)態(tài)分配虛擬機(jī)的方法
- 一種恢復(fù)、升級(jí)虛擬機(jī)的方法及裝置
- 虛擬機(jī)切換系統(tǒng)及切換方法
- 處理虛擬機(jī)集群的方法和計(jì)算機(jī)系統(tǒng)
- 虛擬機(jī)故障檢測(cè)、恢復(fù)系統(tǒng)及虛擬機(jī)檢測(cè)、恢復(fù)、啟動(dòng)方法
- 一種虛擬機(jī)遷移方法和系統(tǒng)
- 一種虛擬機(jī)容錯(cuò)系統(tǒng)及其容錯(cuò)方法





