j2me 关于MIDP 读取jad文件
生活随笔
收集整理的這篇文章主要介紹了
j2me 关于MIDP 读取jad文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通常MIDP的應(yīng)用程序是以.jar文件和.jad文件發(fā)布的,在jad文件中包含著Application Management Software用來(lái)管理MIDlets的生命周期的信息,
在jar包中包括一個(gè)目錄META-INFO里面有個(gè)文件是MANIFEST.MF。它是用來(lái)描述JAR文件的,在MANIFEST.MF和JAD文件中的一些值是相同的,
如果MIDlets的jar包是signed(簽署)的,那么AMS要去查看它的數(shù)字簽名,如果是有效的那么它會(huì)首先去讀取MANIFEST.MF的內(nèi)容,然后讀取jad文件中相同的內(nèi)容,如果匹配的話那么它會(huì)安裝這個(gè)jar包,如果不匹配的話就會(huì)拒絕安裝。如果它發(fā)現(xiàn)數(shù)字簽名無(wú)效的話直接就會(huì)拒絕安裝。如果MIDlets的jar包是unsigned的話,那么AMS就把它認(rèn)為是非信任的,他去讀取jad文件的屬性,如果發(fā)現(xiàn)沒(méi)有的話它去讀取MANIFEST的內(nèi)容,也就是說(shuō)如果jad和MANIFEST里都有的屬性AMS只會(huì)去讀取jad中的。
由于一個(gè)MIDlet suite里面可以有多個(gè)MIDlet的,因此你要說(shuō)明他們比如MIDlet-1,MIDlet-2…..MIDlet-n,這一點(diǎn)非常的重要,在部署jar和jad文件到手機(jī)的時(shí)候一定要確保MIDlet-Name的正確,它的值是你的jar包的名字!否則不會(huì)安裝成功的。還有兩個(gè)值是jad文件中不許有的他們是MIDlet-Jar-URL ,
MIDlet-Jar-Size 其中應(yīng)該注意的是MIDlet-Jar-URL,如果你要是通過(guò)OTA下載的話,那么你不許讓他指向你jar包的絕對(duì)地址,例如http://myip:port/app/myapp.jar。
兩種MIDlet
理解了保護(hù)域的概念就不難理解MIDP2.0安全體系結(jié)構(gòu)定義的兩種MIDlet——非信任MIDlet和信任MIDlet。
對(duì)于設(shè)備無(wú)法驗(yàn)證JAR文件來(lái)源和完整性的MIDlet套件,MIDP 2.0規(guī)范將其定義為非信任。非信任MIDlet運(yùn)行在非信任保護(hù)域上。根據(jù)我們前面對(duì)非信任保護(hù)域的討論,我們得知這并非表示MIDlet無(wú)法安裝或執(zhí)行;而是根據(jù)設(shè)備上保護(hù)域的是實(shí)現(xiàn),要么API不能訪問(wèn),要么對(duì)受限操作的訪問(wèn)需要顯式用戶許可。缺省情況下,所有MIDP 1.0的 MIDlet均為非信任的。
如果設(shè)備能夠驗(yàn)證MIDlet套件的真實(shí)性和完整性并將其分配到一個(gè)保護(hù)域,MIDlet套件則被稱作信任MIDlet套件。根據(jù)其保護(hù)域的行為,信任MIDlet套件將獲得所請(qǐng)求的許可。例如,如果請(qǐng)求javax.microedition.io.Connector.http許可,且保護(hù)域已經(jīng)將許可設(shè)置為trusted,那么無(wú)需用戶確認(rèn)即可打開(kāi)HTTP連接。不要認(rèn)為信任MIDlet套件一定運(yùn)行在信任保護(hù)域上。信任MIDlet套件可分配給任何保護(hù)域,信任保護(hù)域只是其中一種,或者它在設(shè)備上干脆叫做別的名字。另外,推薦安全策略僅僅建議信任MIDlet對(duì)MIDP2的API調(diào)用不需要用戶參與。所以如果你的信任MIDlet在使用某個(gè)非MIDP2規(guī)定的敏感API時(shí)出現(xiàn)了用戶顯式確認(rèn)提示,請(qǐng)不要驚訝。不過(guò)一般出現(xiàn)這種情況都會(huì)有blanket(總是允許)模式供用戶選擇。
JAD文件的屬性:
a) MIDlet-Jar-Size Jar文件大小,一般開(kāi)發(fā)工具可自動(dòng)生成。
b) MIDlet-Name MIDlet套件的名稱。
c) MIDlet-Version J2ME程序版本。
d) MicroEdition-Configuration J2ME程序要求的配置的版本
e) MicroEdition-Profile 使用的規(guī)范的版本,MIDP-1.0和MIDP-2.0。
f) MIDlet-Vendor 該程序的提供商。
g) MIDlet-Jar-URL 該程序的Jar文件所在的網(wǎng)絡(luò)地址。
h) MIDlet-n 其中n為大于0的自然數(shù),使用該參數(shù)來(lái)指定啟動(dòng)的MIDlet的類名以及顯示的名字。
可選屬性:
a) MIDlet-Icon 使用的圖標(biāo)文件。
b) MIDlet–Data-Size 該程序用于進(jìn)行記錄數(shù)據(jù)存儲(chǔ)的最小空間,單位是Byte。一般由系統(tǒng)自動(dòng)生成。
c) MIDlet-Delete-Confirm 該程序被刪除時(shí)向用戶顯示的信息。
d) MIDlet-Delete-Notify 改程序被刪除時(shí),發(fā)送報(bào)告使用的URL,必須以http://開(kāi)始。
e) MIDlet-Description 該程序的詳細(xì)描述信息。
f) MIDlet-Info-URL 該程序在網(wǎng)絡(luò)上的更加詳細(xì)的介紹信息地址。
g) MIDlet-Install-Notify 該程序安裝成功后,發(fā)送報(bào)告使用的URL,必須以http://開(kāi)頭。
manifest.mf文件所有可能的信息如下:
MIDlet-Name ---MIDlet程序包的名稱。
MIDlet-Version --MIDlet的版本號(hào)
MIDlet-Vendor —–MIDlet的創(chuàng)建者或提供商
MIDlet-Icon ———應(yīng)用程序管理器把這個(gè)圖標(biāo)與 MIDlet-Name相關(guān)聯(lián),這是一個(gè)圖形文件,以 PNG圖象格式儲(chǔ)存。
MIDlet-Description —–描述 MIDlet的文本
MIDlet-Info-URL —–可能提供更多MIDlet和/或供應(yīng)商信息的 URL MIDlet- 這個(gè)屬性包括三段信息:
MIDlet名稱 /用于這個(gè) MIDlet的圖標(biāo)(可選) /應(yīng)用程序管理器將調(diào)用來(lái)加載這個(gè)MIDlet的類名
MIDlet-Jar-URL—- JAR文件的 URL MIDlet-Jar-Size —-JAR文件的大小
MIDlet-Data-Size—- 持久數(shù)據(jù)存儲(chǔ)必需的最小字節(jié)數(shù)
在jar包中包括一個(gè)目錄META-INFO里面有個(gè)文件是MANIFEST.MF。它是用來(lái)描述JAR文件的,在MANIFEST.MF和JAD文件中的一些值是相同的,
如果MIDlets的jar包是signed(簽署)的,那么AMS要去查看它的數(shù)字簽名,如果是有效的那么它會(huì)首先去讀取MANIFEST.MF的內(nèi)容,然后讀取jad文件中相同的內(nèi)容,如果匹配的話那么它會(huì)安裝這個(gè)jar包,如果不匹配的話就會(huì)拒絕安裝。如果它發(fā)現(xiàn)數(shù)字簽名無(wú)效的話直接就會(huì)拒絕安裝。如果MIDlets的jar包是unsigned的話,那么AMS就把它認(rèn)為是非信任的,他去讀取jad文件的屬性,如果發(fā)現(xiàn)沒(méi)有的話它去讀取MANIFEST的內(nèi)容,也就是說(shuō)如果jad和MANIFEST里都有的屬性AMS只會(huì)去讀取jad中的。
由于一個(gè)MIDlet suite里面可以有多個(gè)MIDlet的,因此你要說(shuō)明他們比如MIDlet-1,MIDlet-2…..MIDlet-n,這一點(diǎn)非常的重要,在部署jar和jad文件到手機(jī)的時(shí)候一定要確保MIDlet-Name的正確,它的值是你的jar包的名字!否則不會(huì)安裝成功的。還有兩個(gè)值是jad文件中不許有的他們是MIDlet-Jar-URL ,
MIDlet-Jar-Size 其中應(yīng)該注意的是MIDlet-Jar-URL,如果你要是通過(guò)OTA下載的話,那么你不許讓他指向你jar包的絕對(duì)地址,例如http://myip:port/app/myapp.jar。
兩種MIDlet
理解了保護(hù)域的概念就不難理解MIDP2.0安全體系結(jié)構(gòu)定義的兩種MIDlet——非信任MIDlet和信任MIDlet。
對(duì)于設(shè)備無(wú)法驗(yàn)證JAR文件來(lái)源和完整性的MIDlet套件,MIDP 2.0規(guī)范將其定義為非信任。非信任MIDlet運(yùn)行在非信任保護(hù)域上。根據(jù)我們前面對(duì)非信任保護(hù)域的討論,我們得知這并非表示MIDlet無(wú)法安裝或執(zhí)行;而是根據(jù)設(shè)備上保護(hù)域的是實(shí)現(xiàn),要么API不能訪問(wèn),要么對(duì)受限操作的訪問(wèn)需要顯式用戶許可。缺省情況下,所有MIDP 1.0的 MIDlet均為非信任的。
如果設(shè)備能夠驗(yàn)證MIDlet套件的真實(shí)性和完整性并將其分配到一個(gè)保護(hù)域,MIDlet套件則被稱作信任MIDlet套件。根據(jù)其保護(hù)域的行為,信任MIDlet套件將獲得所請(qǐng)求的許可。例如,如果請(qǐng)求javax.microedition.io.Connector.http許可,且保護(hù)域已經(jīng)將許可設(shè)置為trusted,那么無(wú)需用戶確認(rèn)即可打開(kāi)HTTP連接。不要認(rèn)為信任MIDlet套件一定運(yùn)行在信任保護(hù)域上。信任MIDlet套件可分配給任何保護(hù)域,信任保護(hù)域只是其中一種,或者它在設(shè)備上干脆叫做別的名字。另外,推薦安全策略僅僅建議信任MIDlet對(duì)MIDP2的API調(diào)用不需要用戶參與。所以如果你的信任MIDlet在使用某個(gè)非MIDP2規(guī)定的敏感API時(shí)出現(xiàn)了用戶顯式確認(rèn)提示,請(qǐng)不要驚訝。不過(guò)一般出現(xiàn)這種情況都會(huì)有blanket(總是允許)模式供用戶選擇。
JAD文件的屬性:
a) MIDlet-Jar-Size Jar文件大小,一般開(kāi)發(fā)工具可自動(dòng)生成。
b) MIDlet-Name MIDlet套件的名稱。
c) MIDlet-Version J2ME程序版本。
d) MicroEdition-Configuration J2ME程序要求的配置的版本
e) MicroEdition-Profile 使用的規(guī)范的版本,MIDP-1.0和MIDP-2.0。
f) MIDlet-Vendor 該程序的提供商。
g) MIDlet-Jar-URL 該程序的Jar文件所在的網(wǎng)絡(luò)地址。
h) MIDlet-n 其中n為大于0的自然數(shù),使用該參數(shù)來(lái)指定啟動(dòng)的MIDlet的類名以及顯示的名字。
可選屬性:
a) MIDlet-Icon 使用的圖標(biāo)文件。
b) MIDlet–Data-Size 該程序用于進(jìn)行記錄數(shù)據(jù)存儲(chǔ)的最小空間,單位是Byte。一般由系統(tǒng)自動(dòng)生成。
c) MIDlet-Delete-Confirm 該程序被刪除時(shí)向用戶顯示的信息。
d) MIDlet-Delete-Notify 改程序被刪除時(shí),發(fā)送報(bào)告使用的URL,必須以http://開(kāi)始。
e) MIDlet-Description 該程序的詳細(xì)描述信息。
f) MIDlet-Info-URL 該程序在網(wǎng)絡(luò)上的更加詳細(xì)的介紹信息地址。
g) MIDlet-Install-Notify 該程序安裝成功后,發(fā)送報(bào)告使用的URL,必須以http://開(kāi)頭。
manifest.mf文件所有可能的信息如下:
MIDlet-Name ---MIDlet程序包的名稱。
MIDlet-Version --MIDlet的版本號(hào)
MIDlet-Vendor —–MIDlet的創(chuàng)建者或提供商
MIDlet-Icon ———應(yīng)用程序管理器把這個(gè)圖標(biāo)與 MIDlet-Name相關(guān)聯(lián),這是一個(gè)圖形文件,以 PNG圖象格式儲(chǔ)存。
MIDlet-Description —–描述 MIDlet的文本
MIDlet-Info-URL —–可能提供更多MIDlet和/或供應(yīng)商信息的 URL MIDlet- 這個(gè)屬性包括三段信息:
MIDlet名稱 /用于這個(gè) MIDlet的圖標(biāo)(可選) /應(yīng)用程序管理器將調(diào)用來(lái)加載這個(gè)MIDlet的類名
MIDlet-Jar-URL—- JAR文件的 URL MIDlet-Jar-Size —-JAR文件的大小
MIDlet-Data-Size—- 持久數(shù)據(jù)存儲(chǔ)必需的最小字節(jié)數(shù)
總結(jié)
以上是生活随笔為你收集整理的j2me 关于MIDP 读取jad文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2.口袋西游寻路call
- 下一篇: 藏宝阁游戏服务器维护中,梦幻西游藏宝阁异