Symbian 開発備忘録

2006年10月17日 (火曜日)

702NKII のメモリ不足…継続中

ようやくデータのバックアップをとったので、以前に「ぼーちゃん」さんから教えて貰った方法で、 702nkII を初期化してみました。
確かに、ぱっと見、買った時の状態に初期化出来てるようです。

ただーし、「ノキア ソフトウェア マーケット」で買った Java アプリのインストールは依然として失敗するようです…これで何度 315 円奪われたか… (T^T)

いずれにせよ、初期化方法を教えて下さった「ぼーちゃん」さんに感謝です。 <(_ _)>

| | コメント (0) | トラックバック (0)

2006年10月15日 (日曜日)

SISInfo

最近、たまに出くわす unsisHalWin で中身を抽出できない SIS は、コレでいけるかもしれません。

サイトから引用すると:

SISInfo is a tool for inspecting the contents of Symbian SIS installation packages. Supported SIS file format is the one introduced in Symbian 9.1 and S60 3rd edition. File format specification can be found here

注) here ココに移動しているようです。

6680 や 6630 で使う SIS は、コレぢゃなくても大丈夫なはずなんでしょうけど。

| | コメント (0) | トラックバック (0)

2006年6月26日 (月曜日)

おくればせながら…

だいぶ安くなった 702NKII を購入しました :-)Fescr_01
まぁ、いくつか不満もあるんですけど ^^::

取敢えず、件のアプリを動かしてみました。 右が、そのスナップショットなんですけど、以前に入場無料さんにご紹介頂いた際のスナップショットと見比べると、キャプションというかタイトルが違っています。

もしや、リソースファイル(ZipApp*.r*)か何か違っているのかも…??

| | コメント (2) | トラックバック (0)

Unzip for Nokia 702NK のソースコード

とっても遅くなってしまいましたが、取敢えずアップしておきます。
内容は、 アプリ本体 (zipapp) 及び、リコグナイザ (ziprecog) です。
ビルド方法は、展開した zipapp フォルダ以下の HOWTO をご覧下さい。
不明な点は、こちらにコメントして下さいませ。

…ただ、まだ(ずっと?)未整理なので、ソースコードのコメントに英語/日本語が混在していたり、コメント自体少なかったり、他にも見苦しい点が多々あると思われます <(_ _)>

そのうち、ダウンロード専用のページを作りたいと思いますが、まずはコチラからどうぞ…

    ZipApp-177_zlib-1.2.2-src.zip (118K)

取り扱いに関しては、バイナリ配布の記事を参照願います。

追記: 一部、添付のテキストのみ更新したので、アップしなおしました。 (2006/07/19)

| | コメント (0) | トラックバック (0)

2006年5月20日 (土曜日)

日本語メニュー

先に公開した 702NK 用アプリ のメニュー等の日本語表示がイヤならば…

  1. 702NK の "言語" を英語にする。
  2. アプリの日本語リソースファイルを削除する。

…のいずれかで、英語表示に変更出来ます。前者が想定している使い方ですけど。
後者の場合、アプリのインストール先にある ZipApp.r32 というファイルを削除するか名前を変更すれば、702NK で使用している言語に関係なく常に英語表示となります。

確か、 2ch にそんな書き込みがあったので ^^;

この週末でなんとか、ソース公開しないと…

| | コメント (0) | トラックバック (0)

2006年5月 9日 (火曜日)

Unzip for Nokia 702NK

ずいぶん前に作って、放置してあった 702NK 用アプリを公開してみます。

zip ファイルの解凍を行うだけのアプリですが、メール添付の zip ファイルの解凍が出来て、日本語のパス/ファイル名も大丈夫(なはず)なので、意外と使えるのかもしれません。

私の 702NK でのスクリーンショットは、ココで見れます。

主な特徴/欠点は:

  1. zlib 添付の Gilles Vollant 氏による Minizip を元に C++ で記述。(一部コードは、そのまま流用しています)
  2. zip ファイル内のディレクトリツリーを gui でブラウズ可能。
  3. zip ファイル内のファイル、ディレクトリを全て/選択して解凍可能。
  4. ディレクトリ階層有り/無しでの解凍可能。
  5. パスワード付き zip の解凍が可能。 (パスワードは半角英数文字のみ)
  6. zip ファイル内の文字エンコードを指定可能。 (Shift_JIS 以外は確認未)
  7. リコグナイザ付きなので、 FExplorer やメールアプリから zip ファイルのオープンが可能。

    新たにリコグナイザを追加しなくても .zip 拡張子を持つファイルであれば zip ファイルと認識されるようですが、添付のリコグナイザを使用する事で .zip 以外の拡張子の zip 形式のファイルも認識出来るようになります。(例えば .jar ファイル等)

  8. 日本語、英語のロケールを用意。
  9. 解凍先ディレクトリは、予め指定しないといけない。
  10. 解凍のみで、圧縮は出来ない。
  11. 702NK 以外の Series 60 な一部のケータイ用にもビルド可能。
  12. UID は、アプリ、リコグナイザ共に Symbian Signed のモノとなっています。
  13. ZipApp という名前は、元々は圧縮機能も作りこむ予定だったから ^^;
  14. アイコン類は全て、 AMIGAPPaint描きました :-)
  15. イマイチ気が利かない ^^;

今のところ、使用頻度は低いですが、使用していて特に問題には出くわしていません。ただし、十分な動作検証が出来ている訳ではありません。…が、少なくとも、 TonsUPみたいにハングったりはしませんので、ご安心を(苦笑)。
何か問題があれば、連絡戴けると対応出来るかも知れませんし、出来ないかも知れません。

ソースも公開しますが、出来れば誰かに何処かパブリックなリポジトリでもう少し開発を継続して貰って、も少し使いやすくなると嬉しいです ^^;; ライセンスに関しては zlib のそれに従うこととしますが、改変などされる場合は、連絡戴けると嬉しいです :-)

使い方は、いじってみると大体分かると思いますが、何かあれば、コメントにでも書いて下さい。
分かり難いところでは:

  1. 設定画面の「出力先フォルダ」は、決定ボタンを押して直接入力も出来ますが、→ボタンを押すとブラウザから選択出来ます。
  2. zip 内ファイルのブラウズ時、 # ボタンを押すと、選択中ファイルの情報を表示します。
  3. zip 内ファイルのブラウズ時、決定ボタンを押すと、選択中のファイルにマークします。フォルダを選択していた場合は、そのフォルダ以下を再帰的に選択します。マークされた状態で決定ボタンを押すと、マークを解除します。

…辺りかと思います。 (2, 3 については、メニューからもアクセス可能です)

702NK 用バイナリのダウンロードは、こちらからどうぞ:

                      ZipApp-177_zlib-1.2.2.zip (32.7K)

  • 現在のバージョンでは、 zlib-1.2.2 に含まれる Minizip 1.01b をベースとしています。
  • ただし、 zlib はシステムのモノを使用します。私の 702NK では zlib のバージョンは 1.1.3 となっているようです。
  • .SIS へのパッケージングは行っていません(方法を忘れてしまいました ^^;)。インストール先ドライブのルートで、ディレクトリ階層付きで展開して下さい。アンインストールする場合は、インストール時に展開されたファイル以外に C:\System\Apps\ZipApp\ZipApp.ini も削除して下さい。
  • 本アプリの開発にあたって、河邊径太さんには、バグ修正や機能追加、他機種対応等で大変多くのご協力を頂きました。ここに感謝いたします。

ソースコードは、近日中にアップしますが、お急ぎの場合は、ご連絡戴ければ出来るだけ早くお渡しするようにします。 <(_ _)>

| | コメント (11) | トラックバック (1)

2005年11月18日 (金曜日)

VS2005 EE を VC++ ToolKit 2003 と Platform SDK 2003 で使う

先に書いたように、 MS が無料配布を開始した Visual Studio 2005 Express Edition を Symbian OS 向け開発で使用出来ないかと思っていたが、どうもダメらしいという話を聞き諦めかけていたところに、デバッガはオッケーという話に喜んで、また少し試してみた。

河邊さんによると、どうも Visual C++ 2005 Express Edition をそのまま Symbian OS の SDK と一緒に使うと、リンクでこけるとの事。自分は、これまでココに解説されているような無償で入手可能なコマンドラインツールでビルドを行っていたので、 VC++ 2005 のデバッガだけ使えれば、それでよかったんだけど、 VC++ 2005 の IDE からこれらコマンドラインツールを使うようにすれば、取敢えずビルド通るんじゃないの…?と、考えてゴニョゴニョやってたら、一応出来たみたい。

行った手順は次の通り:

まず前提として、上記コマンドラインツールを使って、 Symbian OS のプロジェクトがビルド出来る状態にある事。

その状態で、 Visual C++ 2005 Express Edition をインストール。
ココの Step 1, 3, 4 に従って、設定を行うが、 Step 3 で追加するパスを、上記コマンドラインツールのパスとする。
例えば、 VC++ Toolkit 2003, Platform SDK 2003 のインストール先が、それぞれ下記だったとすると、

C:\Program Files\Microsoft Visual C++ Toolkit 2003\
C:\Program Files\Microsoft SDK\

これらのパス以下の bin, include, lib ディレクトリを、それぞれ対応する箇所に追加してやる。自分は、 VC++ Toolkit のパスが一番上に、その次に Platform SDK のパスが来るように設定した。

後は、 通常通り…

bldmake bldfiles
abld makefile vc6

と、 Symbian OS の SDK から VC6 用のプロジェクトを作成して、 VC++ 2005 から開いてやれば、勝手にそれ用に変換してくれる。

最後に、今、開いたプロジェクトのプロパティを開き、下記のように設定する。

    Configuration Properties
        C/C++
            General
                Use UNICODE Response Files → No に。
            Code Generation
                Enable C++ Exceptions → No に。
            Advanced
                Error Reporting → Default に。
        Linker
            General
                Use UNICODE Response Files → No に。
            Manifest File
                Generate Manifest → No に。
            Advanced
                Error Reporting → Default に。

以上で、取敢えずビルドが出来るはず。
ただ、 VC++ Toolkit 2003 に含まれるコンパイラ等がサポートしていないオプションを IDE が指定したり、 2003 から 2005 で、オプション省略時のデフォルト動作が違っている機能がありそうだったりで、ちょっとキモチ悪い気もするが、自分は殆どコマンドラインでビルドするからいいか…と思ったりということで。

そういえば、もう日本語版も入手出来るみたい。ベータ2って書いてあるが。

| | コメント (0) | トラックバック (0)

2005年11月15日 (火曜日)

unresolved external symbol __chkstk

ビルド時にタイトルのようなリンクエラーが出た場合、原因は、エラー発生元の関数で規定サイズ以上のスタックを使用している事である。

…なので、この問題への正しい対処は、シンボル __chkstk を含むオブジェクト/ライブラリを探す事ではなく、該当関数でのスタック使用量を(自動変数を減らしたり、ヒープからメモリを確保するなどして)減らすか、その関数の呼び出し元スレッドのスタックサイズを増やしてあげることである。

ここで疑問なのは、リンカは、ソースコード内でスレッド生成時に引数として渡すスタックサイズを知り得るのか…?また、ライブラリのビルド時に本エラーが発生した場合はどう対処するのか(どのスレッドから関数が呼び出されるか不明なので)…?

…と、いう事で悩み中…。
恐らく、デフォルトのスタックサイズ 8K バイトが適用されている気はするが、それを変える事は出来ないのか…?

| | コメント (2) | トラックバック (0)

VS 2005 は Symbian OS の SDK とは使用出来ないらしい

自分がモタモタしている間に、河邊さんがさっそく試して報告して下さっている。
Symbian OS の SDK は、 VS 2005 をサポートしていないらしく、併用出来ないとの事。 Nokia のヒトが言ってるのだから間違いないのだろう。
VS 2005 Express Edition 上で C++ での開発を行うには、 Platform SDK が必要だが、これまでも自分は、 Symbian OS のエミュレータ(WINS)向けビルドで Platform SDK を使用していたので、きっと問題ないのだろう…と思っていたが、どうもそうではないらしい(?)。

| | コメント (0) | トラックバック (0)

2005年11月 9日 (水曜日)

Visual Studio 2005 Express Edition

/.J の記事その他によると、 MS が Visual Studio 2005 の Express Edition を無償配布するらしい。
MFC や ATL は含まれないらしいけど、殆ど Symbian OS 向け開発や wxWidgets と一緒にしか使用していない自分には無問題なので、試してみるつもり。

| | コメント (2) | トラックバック (1)