(http://blog.csdn.net/ydfok/archive/2007/07/11/1685256.aspx)
今天下午下載了S60 3rd Edition SDK 仔細(xì)看了下sdk.把自己的一點(diǎn)認(rèn)識(shí)跟大家分享一下.
QUOTE:
首先看看S60 3.0改變了什么:
1. S60 3.0的權(quán)限分為兩大類:系統(tǒng)權(quán)限和用戶權(quán)限。權(quán)限是針對(duì)資源訪問(wèn)的,其實(shí)大多數(shù)系統(tǒng)和用戶資源的位置是公開的,只是并非所有資源都能訪問(wèn)或者說(shuō)并非所有資源都想讓用戶通過(guò)應(yīng)用去訪問(wèn). 通過(guò)提供基本的安全通信協(xié)議.平臺(tái)安全性也可以支持提供數(shù)據(jù)保密性.完整性和鑒權(quán).它還支持通過(guò)使用數(shù)字簽名對(duì)可安裝軟件進(jìn)行鑒權(quán)
2.新版S60 3rd Edition增強(qiáng)了多媒體及企業(yè)應(yīng)用功能.大彩色屏幕(176x208標(biāo)準(zhǔn)、240x320 QVGA、352x416雙分辨率)和各種輸入鍵(兩個(gè)軟鍵、五向?qū)Ш芥I以及一些專用鍵).單手使用和大彩色屏幕的原則也使得應(yīng)用開發(fā)人員能夠展現(xiàn)具有吸引力的內(nèi)容并提供簡(jiǎn)便的導(dǎo)航。除了傳統(tǒng)的176x208縱向布局外,橫向布局也支持雙分辨率(352x416)和QVGA (240x320)模式
3.S60 3rd Edition SVG光柵化(rasterizing)引擎支持SVG Tiny 1.1標(biāo)準(zhǔn),還支持直線和填充不透明度及漸變色.
QUOTE:
關(guān)于第一個(gè)權(quán)限問(wèn)題.NOKIA論壇說(shuō)程序和用戶將被禁止訪問(wèn)文件系統(tǒng).在真機(jī)平臺(tái)上下列文件夾沒(méi)有權(quán)限是不能訪問(wèn)的
/sys/bin/文件夾-包括程序的可執(zhí)行文件(不能訪問(wèn))
/private/文件夾-包括程序的一些數(shù)據(jù)(不能訪問(wèn))
/private/<SID>-這里SID是一個(gè)程序ID號(hào)
/resource/文件夾-包含的是共享文件
讓我們一起看看SDK里有什么內(nèi)容:
QUOTE:
Z盤:分為
1. ipdatatest 包含一些配置文件
2. private 文件夾里面很多類似 101f4cd5 101f6cfe這樣的文件夾.里面包含 backup_registration.xml.commondsy.ini之類的配置文件
3.resource 里面是共享的文件.resource 根目錄有很多aknnotpi.rsc這樣的資源文件.也有很多apps.bootdata.fep.fonts.messaging.xml這些大家熟悉的文件夾.安裝程序后一些公共的文件就放在這里
4.smoketest 里面是一些配置文件
5.sys包含bin和data文件夾.bin/文件夾有程序的可執(zhí)行文件和資源文件RSC或鏈接庫(kù)等(不能訪問(wèn)). data文件夾里有一些數(shù)據(jù)文件
6.system文件夾又包含.apps.data.install.programs.sounds等文件夾.這些文件夾跟現(xiàn)在的文件夾的內(nèi)容差不多.沒(méi)有什么改變
有兄弟可能會(huì)問(wèn).為什么resource 和system都有apps.data等文件夾.這里就體現(xiàn)了S60 3.0的權(quán)限問(wèn)題.一個(gè)程序只能訪問(wèn)自己的文件夾而不能訪問(wèn)其他應(yīng)用程序文件夾.resource 文件夾做為共享文件夾.存放已安裝程序的一些鏈接庫(kù)等.
QUOTE:
S60 3.0應(yīng)用程序最大的改變是加入了數(shù)字簽名對(duì)應(yīng)用程序進(jìn)行授權(quán).為什么要這樣做.NOKIA考慮到安全性的問(wèn)題.必須經(jīng)過(guò)數(shù)字簽名.這點(diǎn)跟SP系統(tǒng)上加入數(shù)字簽名差不多.從概念上來(lái)說(shuō).是在這程序當(dāng)中加了一道鎖.只有經(jīng)過(guò)簽名驗(yàn)證的應(yīng)用程序.才能打開這道鎖.才能運(yùn)行手機(jī)上.如果應(yīng)用程序被修改過(guò).例如漢化或者破解.或者使用了一些未經(jīng)簽名許可的敏感的API.應(yīng)用程序就不能在手機(jī)上執(zhí)行.在使用安裝應(yīng)用包上.可以多次使用數(shù)字簽名.如果不修改這個(gè)內(nèi)容又想通過(guò)數(shù)字認(rèn)證鑒權(quán).達(dá)到破解目的.這點(diǎn)在現(xiàn)在來(lái)說(shuō)具有一定困難.
S60 3.0的應(yīng)用程序變成了EXE.打包后的文件也變成了SISX.即是從以前的SIS轉(zhuǎn)變到SISX.APP轉(zhuǎn)變到EXE.那么在編寫程序和打包方面又有什么不同呢.具體的改變又有那些呢.
QUOTE:
1.首先應(yīng)用程序入口點(diǎn)改變了.
2.S60 BLD.INF 工程文件的改變.
3.MMP文件的改變
4.應(yīng)用程序 RSS 資源文件的改變
5.添加了應(yīng)用程序注冊(cè)文件
6.增強(qiáng)了ICON的編譯.加入了第三版的MIF文件.同時(shí)也支持舊版的MBM文件
7.打包時(shí)增加了數(shù)字認(rèn)證
有了這些改變后.S60 3.0系統(tǒng)的應(yīng)用程序還支不支持SIS文件格式呢?從論壇現(xiàn)有的S6 3.0平臺(tái)的文件來(lái)看.S60 3.0平臺(tái)是支持SIS格式的.其打包依舊通過(guò)PKG文件.下面來(lái)分析下S60 3.0 自帶helloworld的PKG文件
QUOTE:
; HelloWorldBasic_armv5.pkgPKG文件名
;
;Language - standard language definitions
&EN定義語(yǔ)言文件
; standard SIS file header
#{"HelloWorldBasic"},(0xA000017F),1,0,0軟件名
;Localised Vendor name
%{"Vendor-EN"}
;Unique Vendor name
:"Vendor"
;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}產(chǎn)品ID和支持機(jī)型
;Files to install程序安裝文件
"..\..\..\epoc32\release\armv5\urel\HelloWorldBasic.exe" -"!:\sys\bin\HelloWorldBasic.exe"
"..\..\..\epoc32\data\z\resource\apps\HelloWorldBasic.rsc" -"!:\resource\apps\HelloWorldBasic.rsc"
"..\..\..\epoc32\data\z\private\10003a3f\import\apps\HelloWorldBasic_reg.rsc" -"!:\private\10003a3f\import\apps\HelloWorldBasic_reg.rsc"
"..\..\..\epoc32\data\z\resource\apps\helloworldbasic_aif.mif" -"!:\resource\apps\helloworldbasic_aif.mif"
"..\..\..\epoc32\winscw\c\private\A000017F\hello.txt" -"!:\private\A000017F\hello.txt"
;required for application to be covered by backup/restore facility S60 3.0l多了這個(gè)備份和注冊(cè)文件
"backup_registration.xml" -"!:\private\A000017F\backup_registration.xml"
通過(guò)分析上面的PKG文件我們不難發(fā)現(xiàn).
1.程序安裝后的主目錄從現(xiàn)在的system\app\*.程序名變成了\sys\bin文件夾.二進(jìn)制文件位于\sys\bin目錄中
2.S60 3.0依舊支持RSC資源文件.
3.A000017F\hello.txt為程序ID號(hào).
4.圖標(biāo)名稱也由現(xiàn)在的*.AIF變成了×_aif.mif
5.并且多了一個(gè)應(yīng)用程序注冊(cè)文件backup_registration.xml
在創(chuàng)建SISX文件前我們需要獲取R&D證書以便為您的應(yīng)用簽名.
第一個(gè)方法是購(gòu)買一個(gè)VeriSign ACS Publisher ID..獲得Developer Access Certificate
第二個(gè)方法是創(chuàng)建一個(gè)私鑰和自簽名證書 Makekeys 工具可用于創(chuàng)建私鑰和自簽名證書.工具我會(huì)在下面提供
那么我們來(lái)看一下.SIS文件怎么加入數(shù)字簽證變成.先把上面的PKG文件打包成SIS文件后再運(yùn)行signsis命令并將R&D密鑰和證書信息作為參數(shù)輸入
MAKEKEYS創(chuàng)建私鑰和自簽名證書命令:
makekeys -cert -dname "CN=Michael OR=Ltd CO=CN" MyApp.key MyApp.cer
用signsis簽署命令
SignSIS InternetEmail_v30_gcce.sis InternetEmail_v30_gcce.sis DevCert.cer Access.key 3G365KEN
DevCert代表目標(biāo)設(shè)備.Access Key代表認(rèn)證的私鑰.3G365KEN則是認(rèn)證私鑰文件的密碼
那么S60 3.0 平臺(tái)除了這些變化外還有什么變化.
QUOTE:
最明顯的變化就是分辨率的變化.S60 3.0有176 x 208像素.208 x 176像素.240 x 320像素
.320 x 240像素.352 x 416像素.416 x 352像素.在模擬器下大家可看到SDK對(duì)各種分辨率的支持.據(jù)大平洋某篇評(píng)測(cè)說(shuō)以后的軟件將根據(jù)分辨率自動(dòng)調(diào)整.相信以后的軟件會(huì)擁有越來(lái)越好的兼容性.
補(bǔ)充一下.以后的漢化.破解會(huì)不會(huì)更困難.我不會(huì)破解只說(shuō)下今天下午對(duì)SDK內(nèi)自帶的RSC的看法.
QUOTE:
通過(guò)圖片可以看到現(xiàn)在的漢化軟件完全兼容第三版的資源.可進(jìn)行修改等.