SophiaCompress(BREW) EARTH とは
SophiaCompress(BREW) EARTH は、BREW アプリの実行モジュール ( mod ファイル ) を最小化する、世界初の BREW mod 圧縮ツールです。
動作環境
| BREW 環境 | BREW SDK 1.0 / 1.1 / 2.0 / 2.1 / 3.1 / 4.0 |
|---|---|
| Windows 環境 | Windows XP Professional Windows 2000 Professional ( SP4 以降 ) |
| キャリア | KDDI など |
圧縮方式
ダイレクト圧縮とファイル分割圧縮の 2 種類の圧縮方式があります。
BREW 1.x / 2.x / 3.1 のアプレットと BREW 3.1 のエクステンションでは、ファイル分割圧縮を選択できます。
BREW 4.0 のアプレットと BREW 1.x / 2.x / 4.0 のエクステンションでは、ダイレクト圧縮だけがサポートされます。
SophiaCompress(BREW) EARTH 圧縮原理
ダイレクト圧縮

圧縮元の mod ファイルを圧縮して、携帯電話上で実行可能な別の mod ファイルを生成します。
圧縮率は 60〜75 % です。
ファイル分割圧縮

圧縮元の mod ファイルを圧縮して、ブートローダー ( 起動モジュールである mod ファイル ) と圧縮データ ファイル ( scb ファイル ) を生成します。
圧縮率は 60〜75 % です。
圧縮後は、この 2 つのファイルを携帯電話にインストールします。ブートローダーを起動すると、圧縮データファイルが読み込まれ、実行が開始します。
※1. 制約事項 : 圧縮対象のファイル名は 127 文字以下でなければいけません。
※2. BREW 4.0 では mod ファイルのロード時にファイルアクセスができない仕様となっています。 そのため、ファイル分割圧縮はサポートされません。ダイレクト圧縮をお使いになってください。
※3. SophiaCompress(BREW) EARTH 4.0 から、BREW 3.1 エクステンションをファイル分割圧縮できるようになりました。 BREW 1.x / 2.x / 4.0 のエクステンションでは、ダイレクト圧縮だけがサポートされます。
ファイル分割圧縮時の mif ファイルの設定( BREW 3.1 エクステンションのみ有効 )
BREW 3.1 エクステンションをファイル分割圧縮する場合、圧縮時にエクステンション
のクラス ID を指定し、エクステンションの mif ファイルの設定で
エクステンション名.scb
の ACL の設定が必要です。
具体的には、mif ファイルのアクセスコントロールのタブを以下のように設定し、
任意の BREW アプレットからファイル分割圧縮されたエクステンションの圧縮
モジュールにアクセスできるようにします。
Path : /mod/エクステンション名/エクステンション名.scb
Right : r (読み取り権限)
Group : 0x0 (全員)

※1. BREW 3.1 エクステンションをファイル分割圧縮する時だけ、GUI または CUI でクラス ID ( 8 桁の 16 進数)を指定する必要があります。
※2. BREW 1.x / 2.x / 4.0 のエクステンションはファイル分割圧縮できません。ダイレクト圧縮のみサポートされます。
ライセンス ファイル
SophiaCompress(BREW) EARTHを使用するためには、ライセンス ファイル licence.datが必要です。
ライセンスファイルの申請に必要な ホスト ID は、 SophiaCompress(BREW) EARTH のフォルダに同梱されている、 HostID.exe を起動して取得します。

※デフォルトでインストールした場合、SophiaCompress(BREW) EARTH のフォルダは以下の位置にあります。
- 製品版 : C:\Program Files\Sophia Cradle\SophiaCompressBREW\5.0
- 評価版 : C:\Program Files\Sophia Cradle\SophiaCompressBREW Evaluation\5.0
取得したホスト ID を、[コピー] ボタンを押してコピーします。

以下の 5 つの情報を添えて、 product@s-cradle.com 宛にお申し込みください。
件名:SophiaCompress(BREW) EARTH ライセンスファイル申請 以下の通り、SophiaCompress(BREW) EARTH のライセンスファイルを申請します。 1. ホストID : 2. 会社名 : 3. 担当者名 : 4. 電話番号 : 5. メールアドレス :(法人のメールアドレス)
![]()
![]()
起動方法
弊社より発行されたライセンスファイル(licence.dat)を、SophiaCompressBrew.exe 実行ファイルと同じフォルダに格納します。
ライセンスファイル(licence.dat)を上記フォルダに格納した上で SophiaCompressBrew.exe をダブルクリックして SophiaCompress(BREW) を起動します。

※デフォルトでインストールした場合、SophiaCompressBrew.exe は以下のフォルダにあります。
- 製品版 : C:\Program Files\Sophia Cradle\SophiaCompressBREW\5.0
- 評価版 : C:\Program Files\Sophia Cradle\SophiaCompressBREW Evaluation\5.0
操作方法
グラフィカルユーザーインターフェース GUI

- SophiaCompressBrew.exe を起動します。
- [圧縮元モジュール] に、圧縮する mod ファイルを指定します。正しく指定すると圧縮前のモジュールサイズが [モジュールサイズ] 欄に表示されます。
- [BREW バージョン] を指定します。
- [エンディアン] を指定します。(*日本国内の端末はリトルエンディアンです。)
- [圧縮形式] を指定します。(BREW 4.0 の場合は、選択できません。ダイレクト圧縮のみサポートされます。)
- BREW 3.1 エクステンションをファイル分割圧縮する時だけ、[Extension] をチェックし、クラス ID ( 8桁の 16 進数)を入力します。
- [圧縮] ボタンを押します。
- ファイル保存ダイアログが表示されますので保存先を指定します。
- 圧縮に成功すると、緑色の文字で圧縮後のモジュールサイズが [モジュールサイズ] 欄に表示されます。圧縮後のサイズが圧縮前よりも大きくなった場合は、警告ダイアログと共に赤色でサイズが表示されます。
SophiaCompress(BREW) EARTH アイコンへのドラッグアンドドロップや、圧縮ウィンドウへのドラッグアンドドロップによる圧縮も可能です。
コマンドラインユーザーインターフェース CUI
SophiaCompress(BREW) EARTH コマンドラインの構文は以下の通りです。
SophiaCompressBrew.exe -(direct | file) [-(little | big)] -(brew10 | brew11 | brew2x | brew3x | brew4x) [-ext] [-clsid xxxxxxxx] [-ov] [-o destination.mod] source.mod
- -(direct | file) は圧縮形式を選択します。( -brew4x の場合、-direct のみ指定できます)
- -(little | big) は端末の CPU のエンディアンを指定します。省略するとリトルエンディアンとして扱われます。
- -(brew10 | brew11 | brew2x | brew3x | brew4x) は BREW バージョンを指定します。
- -ext はファイル分割圧縮する対象がエクステンションであることを指定します。( -ext は -brew3x と -file を指定したときだけ有効です)[省略可能]
- -clsid は上記のエクステンションのクラス ID を 8 桁の 16 進数で指定します。( -clsid は、-ext と -brew3x と -file を指定した時だけ有効です)[省略可能]
- -ov は圧縮後ファイルと同名のファイルがすでに存在するときに強制的に上書きするかどうかを指定します。[省略可能]
- -o は圧縮後ファイル名を明示的に指定します。[省略可能]
- source.mod は圧縮対象ファイルを全てのコマンドライン引数の一番最後に指定します。
※1. source.mod は圧縮元のファイル名、destination.mod は圧縮後のファイル名です。
※2. エラーが発生した場合は警告ダイアログが表示されます。ただし、圧縮後のファイルサイズが圧縮前よりも大きくなっても警告ダイアログは表示されません。
圧縮前後のヒープ使用量の差
ダイレクト圧縮
モジュール ファイルは 1 つで済みますが、ヒープ領域に圧縮されたアプリと、ブートローダー が実行可能な形式に展開したアプリが同時に存在するので、ヒープ容量がその分たくさん必要です。
※ サイズが大きなアプリは、たくさんのヒープ容量が必要です。通常、ファイル分割圧縮を利用します。

ファイル分割圧縮
ファイル分割圧縮では、ブートローダーと圧縮データファイルが分離しています。 ヒープ領域にはブートローダーと展開後のデータファイルだけが存在します。 その結果、ダイレクト圧縮よりアプリ実行に必要なヒープ容量は少なくて済みます。
ブートローダーと圧縮データという 2 つのファイルに分割されるため、ファイルシステムのクラスタサイズの影響でダイレクト圧縮よりも圧縮後のファイルサイズが若干増加します。
※ ブートローダーのサイズは約 3 KB ですが、実際にはクラスタ単位のサイズ(4, 6, または 8 KB)になります。

制約条件
BREW SDK 標準の起動コードを使用してください。
BREW SDK 1.0 / 1.1 / 2.0 / 2.1 / 3.1 / 4.0 に付属の標準の起動コード AEEModGen.c を使用してビルドされたモジュールの圧縮についてのみ、本ソフトウェアはサポートします。
上記以外のカスタマイズされた起動コードを使用している場合、本ソフトウェアにより圧縮されたモジュールは正常に動作しない可能性があります。











