This page was last modified 09:30, 15 May 2008.
詳細:Flash用スタブ・アプリケーションの作成
From Forum Nokia Wiki
対象:S60 3rd Edtion Feature Pack1 以降(flash_ui.h を使用しているため)
Contents |
スタブ・アプリケーションの作成理由
swf ファイルのまま配布すると、そのファイルを起動するには、Flash Player を起動してからそのファイルを選択します。また、そのファイルは、ファイル・マネージャで見ることができ、コピーできます。 ここで紹介するスタブ・アプリケーションを作成すると、電話機のメニューに起動のためのアイコンを置くことができ、また、インストール後にswf ファイルは、ファイル・マネージャで見ることはできません。
必要なもの
IDやアカウント
TC TrustCenter Publisher ID
- 署名(express signed等)で使用
- https://www.trustcenter.de/order/publisherid/dev
- 200 USD/年
- クレジット・カード(VISA, MasterCard, AMERICAN EXPRESS)で支払い
- TC TrustCenter Publisher ID(日本語)
- 取得に約1ヶ月かかると見てください
フォーラム・ノキア
- SDK登録に必要
- エミュレータを初めて起動して、2週間たつと催促のダイアログ
- エミュレータには、Flash Playerはありません。
- アイコン作成時のチェック
www.symbiansigned.com
- Symbian signed 申請等に必要
- https://www.symbiansigned.com
ツール
- Java実行環境(Java Runtime Environment, JRE) 1.5.0 以降
- ActivePerl 5.6.1.626
- S60 3rd Edition FP1 以降のSDK
- このサンプルでは、S60 3rd Edition FP1 で導入されたflash_ui.h を使用
- ターゲット端末にあったSDK を推奨
- www.forum.nokia.com の左、上方
-> Tools and SDKs
-> Symbian/C++ Tools
-> S60 Platform SDKs for Symbian OS, for C++
- tcp12p8
- TC TrustCenter Publisher ID 取得の過程で使用
- ファイルのフォーマットを変更 p12(pfx) -> p8
- http://developer.symbian.com/wiki/display/pub/Symbian+Signed+Tools
- 使用方法
tcp12p8 publisherId.pfx <password of pfx> yourkeyfile.key yourcertfile.cer
- DevCertRequest
- 開発時の署名方法の一つ(Open Signed Offlin)で使用
- http://developer.symbian.com/main/tools/devtools/critical/dev_cert_request/index.jsp
- UTF8 を編集できるエディタ
- アイコン作成ツール
- SVG-T を生成するツール
- Adobe Illustrator
- InkScape(www.inkscape.org) - svgを作成する無料のツール
- svg2svgt (c:\symbian\9.2\S60_3rd_FP1\S60Tools\svg2svgt\installer\svg2svgtconverter.exe) svg からsvgt に変換
- InkScapeとsvg2svgt を使う場合には、うまく変換されない場合があるので、エミュレータや実機で確認しながら作成することを強く推奨
- Carbide.c++
- エミュレータ用のコンパイラを含む
- エミュレータにはFlash Lite Player が無いので、実行は出来ないが、アイコンの確認に使用可能
アプリケーションUID
- アプリケーションにユニークな32ビットの数字
- www.symbiansigned.com から正式なUIDを取得
- Login -> My Symbian Signed -> UIDs -> Request -> Protect Range.
- アプリケーションUIDには、大きくProtected Range とUnproteced Range にグループ分けされている
- Protected Range は、symbian signed 用
- Unprotected は、self-signed 用
- Protected とUnProtected Range 両方とも、Open Signd(開発者署名)出来ます。
- "プログラムの作成(変更)"にあるように、多数の書かれた同一のUIDを変更するため、最初から、申請して取得したUIDの使用を推奨
プログラムの作成(変更)
http://www.forum.nokia.com/main/resources/technologies/flash/documentation/index.html にあるドキュメント"Flash Lite Developer's Library" 内の、"Advanced Flash Lite features for S60 Platform" -> "Creating a stub application" がオリジナル。
ただし、そのままでは、(複数のディベロッパが)複数のアプリを作成しようとすると、ファイル名の衝突が発生するので、コンパイル後生成されるファイルにUIDを追加する必要がある。
以下の記述では、次のソースを元に解説。 media:FlashStub_with_uid.zip
変更するファイルのリスト。変更すべき箇所にコメントで"CHANGE"
- src/stub.cpp
- group/stub_loc.rls
- group/stub_reg.rss
- group/stub.mmp
- group/bld.inf
- group/icon.mk
- sis/FlashStub.pkg
ソースの変更(1/6) src/stub.cpp
// UID を2箇所変更
const TUid KUidFlashStubApp = { 0x01234567 };
// .swf ファイル名の変更
_LIT(KStubFlashContent, "\\private\\01234567\\stub.swf");
ソースの変更(2/6) group/stub_loc.rls
//UIDを変更
rls_string STRING_r_stub_icon_path "z:\\resource\\apps\\FlashStub_0x1234567.mif"
//メニューに表示されるアプリケーション名を変更
rls_string STRING_short_caption "FlashStub"
rls_string STRING_r_stub_caption "FlashStubLongName"
ソースの変更(3/6) group/stub_reg.rss
UID3 0x01234567 // UIDを変更
RESOURCE APP_REGISTRATION_INFO
{
// UIDを変更
app_file=“stub_ 0x01234567”;
localisable_resource_file="\\resource\\apps\\stub_0x01234567_loc";
}
ソースの変更(4/6) group/stub.mmp
// UID(0x01234567)を変更
// 0x100039CE は変更しない
UID 0x100039CE 0x01234567
// 実際のソースでは離れているので、注意
target stub_0x01234567
target stub_0x01234567_reg
target stub_0x01234567_loc
ソースの変更(5/6) group/icon.mk
- svgt ファイルから、s60(symbian)用のアイコンを作るためのファイル
- UIDの変更
- 元のファイル(SVG-T)名の変更
- タブに意味があるので、("mifcov の前等に複数ある)タブをスペースに変更しない
ICONTARGETFILENAME=$(TARGETDIR)\FlashStub_0x01234567.mif RESOURCE : mifconv $(ICONTARGETFILENAME) \ /c32 stub.svg
ソースの変更(6/6) sis/FlashStub.pkg
- "StubExmaple" は、インストール時に表示される
- Localized Vendor Name とUnique Vendor Name は社名
- ファイル名のUIDを変更
- “[SDKPath]” は、例えば、” c:\Symbian\9.2\S60_3rd_FP1” など
- .swf ファイルの、C:ドライブは、変更しない
#{"StubExample"},(0x01234657),1,0,0
;Localized Vendor Name
%{"MyVendor"}
;Unique Vendor Name
:"MyVendor Ltd"
"[SDKPath]\epoc32\release\gcce\urel\stub_0x01234567.exe"-"!:\sys\bin\stub_0x01234567.exe“
... <省略> ...
".\stub.swf" - "c:\private\01234567\stub.swf"
アイコンの作成
ツール類
- アイコンのフォーマットは、SVG-T(SVG Tiny)
- 作成ツールとして例えば、
- Adobe Illustrator
- InkScape(www.inkscape.org)
- SVGを作成する無料のツール
- svg2svgt
- svgからsvgt への変換ツール
- sdk に付属
- c:\symbian\9.2\S60_3rd_FP1\S60Tools\svg2svgt\installer\svg2svgtconverter.exe - インストーラ
- InkScapeとsvg2svgt を使う場合には、うまく変換されない場合があるので、エミュレータや実機で確認しながら作成することを強く推奨
SVG-T にviewBox の追加
アイコンが正しく描画されない場合、以下を参考に、属性viewBox を追加する。 KIS000398 - SVG rendering problems caused by missing viewBox attribute
注意点
- 端末にインストール後、反映させるには、端末のリブートが必要
- 44x44 ピクセルのキャンバスで作成
- 参考ページ:
ビルド・パッケージ化
ビルド
- コマンド・プロンプトを起動
- "bldmake bldfiles" - 以下で使用されるabld コマンドを作成
- "abld build gcce urel" - 実機用
- "abld build winscw udeb" - エミュレータ用
パッケージ化
- .sis ファイルを作成すること
- コマンド・プロンプトで、sis ディレクトリに移動
- "makesis FlashStub.pkg" - FlashStub.sis が生成される
署名(Signed)
詳細は、http://developer.symbian.com/main/signed/ にある、"The Complete Guide to Symbian Signed" を参照
概要
S60 3rd Edition では、sis ファイルをインストールするには、署名が必須。
署名は以下のように分けられる
- self-singed (自己署名) - unporected range のuid 用、インストール時に警告
- Open Signed (旧Developer Signed) 開発用でimei の指定あり
- Open Signed Online
- Open Signed Offline - Publisher ID が必要
- Symbian Signed - protected range のuid 用
- Express Signed - テスト・ハウスを通さない、またその分安い。
- Certified Signed
- Symbian Signed for Nokia
ここでは、以下の理由でOpen Signed Online とExpress Signed を使用。
- インストール時に警告が出るのは、エンド・ユーザに不安を与える。この理由により、ソフトのディストリビュータ(アグリゲータ)によっては、正式な署名(Symbian Signed)を求められる -> uid は、protected range
- 開発時は、open signed offline でも良いが、publisher ID が必要で、取得には時間がかかる。よって、開発時用には、Open Signed Online を説明
- Symbian signed の内、Express Signed が一番安価で速く、使用する機能・API(capability)もこれで十分
開発時(Open Signed Online)
- http://www.symbiansigned.com を開く
- ページの“Open Signed Online” をクリック
- IMEI, Email, Application(sis ファイル名) を入力
- Capability information は、選択必要なし、
- 注意: 本来必要ないが、何も選ばないと、下のプロセスの2通目のメールで、失敗する。よって、何か一つ選ぶ必要がある。(2008年4月)
- Captcha(画像認証)を入力
- “Send” ボタンをクリック
- メールが送られるので、リンクをクリック
- “Open signed confirmation email” - 申請の確認のメール
- “Open Signed application signed notification” - 署名が終了した旨のメール
- IMEI の調べ方
- 待ち受け(Idle 画面)で、”*#06#”
- 又は、端末のバッテリーをはずしたところ
セールス版(Express Signed)
- 1つのsis ファイル1回につき20 USD
- PayPal で支払い
- TC TrustCenter Publisher ID が必要
- VeriSign ACS Publihser ID は不可
- 作成したsis ファイルを、TC turst center publisher ID で署名
- コマンドプロンプトで以下を実行。
- signsis FlashStub.sis FlashStub.sisx publisherID.cer publisherID.key password
- 以下の物をzip ファイルにまとめる。パスを含めないように注意。
- 上記で署名したsisx ファイル(FlashStub.sisx)
- .pkg ファイル(FlashStub.pkg)
- readme.txt やuser manual 等
- 下記でログイン後、step 1 に、sample zip がある
- www.symbiansigned.comにログイン
- "My Symbian Signed" のタブをクリック
- 左側の、"Trust Center Content IDs" をクリックして、Content ID を購入
- 左側の、Submissions -> Express Signed を順次クリック
- 開発者や開発者の情報を入力
- "Select submission type" は、"Application" を選択
- "stub sis"は、"Passive content" を選ぶ、と書いてあるドキュメントがあります。この"stub sis"のstub は、別の意味です。詳細は、How to guide for pre-installed applications にあります。
- アプリケーション名等、アプリケーションの情報を入力してください。
- アプリケーションの自己テストの結果を入力してください。もし、一つでもFail を選ぶと、署名されません。
- "Declarative Statement" では、全て"No" を選びます。
- "Submit" のリンクをクリックして、提出完了
- 問題が無ければ、ダウンロードできるようになります。ログイン後、My Symbian Signed -> Submissions -> My Applications をクリックしてください。
