Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

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

フォーラム・ノキア

  • SDK登録に必要
  • エミュレータを初めて起動して、2週間たつと催促のダイアログ
  • エミュレータには、Flash Playerはありません。
  • アイコン作成時のチェック

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
  • DevCertRequest
  • 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 をクリックしてください。
 
Powered by MediaWiki