BREW FAQ : 実機
- 「エラーが発生しました(004) ※クリアキーを...」と表示され、アプリが起動しません!
- 実機用にコンパイルするには?
- 日本国内で海外の端末 (実機) を使用したテストができますか?
- GCCの情報はどこにありますか?
- BREW アプリのプログラム サイズを小さくするには?
- エミュレーターでは正常に動作していたのに、実機では異常終了するのですが … ?
- BREW AppLoader とは?
- MIF エディタとは?
- sig ファイルとは?
- BREW Logger とは?
実機用にコンパイルするには?
実機用にコンパイルするには、ARM コンパイラが必要です。
Qualcomm 社は ARM コンパイラとして、ARM 社製の ARM Developer Suite (以降、ADS) や RealView Compilation Tools for BREW (以降、RVCTB) を使用することを推奨しています。 また、オープンソースの GNU gcc などのコンパイラも使用できます。
以下に、ADS や RVCTB を使用して実機用にコンパイルする手順を記載します。
日本国内で海外の端末 (実機) を使用したテストができますか?
Qualcomm 社が運営している「BREW デバロッパーラボ」という施設で、 国内外の BREW 端末を使用した BREW アプリケーションの動作確認ができます。
GCCの情報はどこにありますか?
Qualcomm 社の Web サイトで BREW Forums GNU ARM compiler というフォーラムが開催されています。
関連情報
- BREW Forums GNU ARM compiler : GNU Cross Compiler For ARM
BREW アプリのプログラム サイズを小さくするには?
BREW アプリのサイズを小さくするには SophiaCompress(BREW) EARTH が使えます。
SophiaCompress(BREW) は BREW アプリのサイズ問題を 3 分で解決してくれる、世界唯一の BREW アプリ圧縮ツールです。
シンプルな GUI だから、どなたでも簡単にアプリサイズを 60 〜 80 % カットできます。
なお、国内外の BREW アプリの圧縮で、多数の導入実績があります。
エミュレーターでは正常に動作していたのに、実機では異常終了するのですが … ?
下記の項目についてチェックします。
- AEECallback 構造体は初期化されていますか?
- 変数の初期化を忘れてませんか?
- ファイルやネットワークなど MIF ファイルの特権レベルは正しく設定されていますか?
- 実機で動作させたとき、アプリ実行に必要なヒープ容量は確保されてますか?
- 不正な境界でメモリアクセスしていませんか?
ARM CPU の場合、奇数番地から2バイトや4バイトのデータをアクセスすると、CPU 例外が発生します。 - 大域変数や静的変数を使っていませんか?
- DBGPRINTF() などを使って、実機上での動作を追跡してみてください。
※ 大量に DBGPRINTF() を実行すると端末のバッファが溢れてログが欠損することがあります。
そのような場合、端末を sync dbgprintf モードに設定します。
BREW 3.1 端末ならば、
###273933284#
###4#
と続けて押すと sync モードに移行できます。
###0#
で解除できます。(※)
※ SYNC モードを解除できない場合:
デバッグキーモードから解除されるタイミングには機種依存があります。ある機種は端末再起動でデバッグに関する設定がすべて解除されるのに対して、ある機種ではデバッグキーモードの設定のみ解除されたりします。
端末再起動後も SYNC モードが解除されない場合は、再度デバッグキーモードに移行し、 ###0# を押します。
このとき、端末は SYNC モードでキー入力への応答が非常に遅くなっていますので、ゆっくりとキーを押して、確実にキー入力を処理させることがポイントです。
ロガーを表示させて、キーイベントがログに表示されたら、次のキーを押す操作を繰り返せば確実に設定できます。
BREW AppLoader とは?
BREW AppLoader とは、PC で開発した MOD ファイル等を携帯端末に転送するソフトウェアです。端末からファイルをPC に転送することも可能です。
ファイルの転送以外にも、端末上でフォルダを作成したり、端末をリセットできます。
ただし、端末上の MOD 、MIF、SIG ファイル等の PC へのアップロードや閲覧はできません。
このツールは、BREW Logger やBREW AppSigner、The Grinder 等と一緒にBREW Tools Suite というセットで Qualcomm 社の Web サイトにて無償で配布されています。
※ BREW AppLoader を入手するには BREW ディベロッパの認定が必要です。
MIF エディタとは?
MIF エディタとは、MIF ファイルの作成や編集をするためのエディタです。
sig ファイルとは?
sig とは、Signeture の略で、BREW アプリを実機で実行するのに必要な認証ファイルです。アプリ名と ESN が記録されています。
Qualcomm の BREW Developer Extranet で発行する事ができますが、Extranet のアカウント取得は、Qualcomm から認定を受けた BREW ディベロッパー しか行えません。
BREW Logger とは?
BREW Logger とは?
BREW Logger とは、実機でデバッグ作業を行うときに使用するデバッグ出力ツールです。BREW AppLoader に同梱されています。
使用方法は、BREW AppLoader と同様、転送ケーブルで端末を接続している PC 上で使用します。
ログ取得を開始後、キーイベントが発生したり、実行しているアプリ内で DBGPRINTF 関数が実行されたときに、ログが出力されます。
ログには、タイムスタンプ、メッセージ、ファイル名等が表示されます。
ただし、BREW Logger は DBGPRINTF とメッセージを完全に同期で出力しているわけではないので、端末がリセットされるようなバグが発生する場合は DBGPRINTF のメッセージをログに出力することができません。このような場合は、ILogger インターフェースを使用し、ファイルにログが出力されるようにします。