原文地址
(http://blog.csdn.net/ydfok/archive/2007/07/11/1685256.aspx)
今天下午下載了S60 3rd Edition SDK 仔細看了下sdk.把自己的一點認識跟大家分享一下.
QUOTE:
首先看看S60 3.0改變了什么:
1. S60 3.0的權限分為兩大類:系統權限和用戶權限。權限是針對資源訪問的,其實大多數系統和用戶資源的位置是公開的,只是并非所有資源都能訪問或者說并非所有資源都想讓用戶通過應用去訪問. 通過提供基本的安全通信協議.平臺安全性也可以支持提供數據保密性.完整性和鑒權.它還支持通過使用數字簽名對可安裝軟件進行鑒權
2.新版S60 3rd Edition增強了多媒體及企業(yè)應用功能.大彩色屏幕(176x208標準、240x320 QVGA、352x416雙分辨率)和各種輸入鍵(兩個軟鍵、五向導航鍵以及一些專用鍵).單手使用和大彩色屏幕的原則也使得應用開發(fā)人員能夠展現具有吸引力的內容并提供簡便的導航。除了傳統的176x208縱向布局外,橫向布局也支持雙分辨率(352x416)和QVGA (240x320)模式
3.S60 3rd Edition SVG光柵化(rasterizing)引擎支持SVG Tiny 1.1標準,還支持直線和填充不透明度及漸變色.
QUOTE:
關于第一個權限問題.NOKIA論壇說程序和用戶將被禁止訪問文件系統.在真機平臺上下列文件夾沒有權限是不能訪問的
/sys/bin/文件夾-包括程序的可執(zhí)行文件(不能訪問)
/private/文件夾-包括程序的一些數據(不能訪問)
/private/<SID>-這里SID是一個程序ID號
/resource/文件夾-包含的是共享文件
讓我們一起看看SDK里有什么內容:
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或鏈接庫等(不能訪問). data文件夾里有一些數據文件
6.system文件夾又包含.apps.data.install.programs.sounds等文件夾.這些文件夾跟現在的文件夾的內容差不多.沒有什么改變
有兄弟可能會問.為什么resource 和system都有apps.data等文件夾.這里就體現了S60 3.0的權限問題.一個程序只能訪問自己的文件夾而不能訪問其他應用程序文件夾.resource 文件夾做為共享文件夾.存放已安裝程序的一些鏈接庫等.
QUOTE:
S60 3.0應用程序最大的改變是加入了數字簽名對應用程序進行授權.為什么要這樣做.NOKIA考慮到安全性的問題.必須經過數字簽名.這點跟SP系統上加入數字簽名差不多.從概念上來說.是在這程序當中加了一道鎖.只有經過簽名驗證的應用程序.才能打開這道鎖.才能運行手機上.如果應用程序被修改過.例如漢化或者破解.或者使用了一些未經簽名許可的敏感的API.應用程序就不能在手機上執(zhí)行.在使用安裝應用包上.可以多次使用數字簽名.如果不修改這個內容又想通過數字認證鑒權.達到破解目的.這點在現在來說具有一定困難.
S60 3.0的應用程序變成了EXE.打包后的文件也變成了SISX.即是從以前的SIS轉變到SISX.APP轉變到EXE.那么在編寫程序和打包方面又有什么不同呢.具體的改變又有那些呢.
QUOTE:
1.首先應用程序入口點改變了.
2.S60 BLD.INF 工程文件的改變.
3.MMP文件的改變
4.應用程序 RSS 資源文件的改變
5.添加了應用程序注冊文件
6.增強了ICON的編譯.加入了第三版的MIF文件.同時也支持舊版的MBM文件
7.打包時增加了數字認證
有了這些改變后.S60 3.0系統的應用程序還支不支持SIS文件格式呢?從論壇現有的S6 3.0平臺的文件來看.S60 3.0平臺是支持SIS格式的.其打包依舊通過PKG文件.下面來分析下S60 3.0 自帶helloworld的PKG文件
QUOTE:
; HelloWorldBasic_armv5.pkgPKG文件名
;
;Language - standard language definitions
&EN定義語言文件
; 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"}產品ID和支持機型
;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多了這個備份和注冊文件
"backup_registration.xml" -"!:\private\A000017F\backup_registration.xml"
通過分析上面的PKG文件我們不難發(fā)現.
1.程序安裝后的主目錄從現在的system\app\*.程序名變成了\sys\bin文件夾.二進制文件位于\sys\bin目錄中
2.S60 3.0依舊支持RSC資源文件.
3.A000017F\hello.txt為程序ID號.
4.圖標名稱也由現在的*.AIF變成了×_aif.mif
5.并且多了一個應用程序注冊文件backup_registration.xml
在創(chuàng)建SISX文件前我們需要獲取R&D證書以便為您的應用簽名.
第一個方法是購買一個VeriSign ACS Publisher ID..獲得Developer Access Certificate
第二個方法是創(chuàng)建一個私鑰和自簽名證書 Makekeys 工具可用于創(chuàng)建私鑰和自簽名證書.工具我會在下面提供
那么我們來看一下.SIS文件怎么加入數字簽證變成.先把上面的PKG文件打包成SIS文件后再運行signsis命令并將R&D密鑰和證書信息作為參數輸入
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代表目標設備.Access Key代表認證的私鑰.3G365KEN則是認證私鑰文件的密碼
那么S60 3.0 平臺除了這些變化外還有什么變化.
QUOTE:
最明顯的變化就是分辨率的變化.S60 3.0有176 x 208像素.208 x 176像素.240 x 320像素
.320 x 240像素.352 x 416像素.416 x 352像素.在模擬器下大家可看到SDK對各種分辨率的支持.據大平洋某篇評測說以后的軟件將根據分辨率自動調整.相信以后的軟件會擁有越來越好的兼容性.
補充一下.以后的漢化.破解會不會更困難.我不會破解只說下今天下午對SDK內自帶的RSC的看法.
QUOTE:
通過圖片可以看到現在的漢化軟件完全兼容第三版的資源.可進行修改等.
posted on 2010-02-25 09:40
漂漂 閱讀(586)
評論(0) 編輯 收藏 引用 所屬分類:
symbian開發(fā)