全般
- SophiaCompress(Java)が起動できないのですが・・・?
- アプリが圧縮できないのですが・・・?
- 圧縮後のアプリが正常に動作しないのですが・・・?
- インストールしたけれども、どのアプリでも圧縮に失敗するのですが・・・?
- 他の圧縮ツールと併用できますか?
- 起動すると、ファイルが開けないエラーが発生したり、"Unable to access jarfile C:\Program" が表示されるのですが ・・・ ?
- 圧縮率を更に向上させるには … ?
- 同じアプリなのに、圧縮後のサイズが変動するのですが ・・・ ?
- 保存フォルダの名前に「ム」があると圧縮に失敗するのですが ・・・ ?
- 「Java.lang.OutOfMemoryError: Java heap space 起動オプション -Xmx<size> を指定して・・・・」が表示されるのですが ・・・ ?
- -Xmx<100m>と起動オプションを指定すると起動できなくなりました ・・・ ?
- バージョンアップしたら、起動しなくなりました ・・・ ?
- クラス融合機能を使って圧縮したアプリが、OutOfMemoryErrorで異常終了するのですが ・・・ ?
- クラス融合が活きるプログラミングスタイルは・・・?
SophiaCompress(Java)が起動できないのですが・・・?
- Version :
すべての Version
- 答え 1 :
-
SophiaCompress(Java) の起動には Java 2 SDK 1.4.2 または 1.5.0 が必要です。
対処法: お使いのパソコンの Java のバージョンを 1.4.2 または 1.5.0 に設定して、SophiaCompress(Java) を起動します。
参考情報 : Java のバージョン切り替え方法
- 答え 2 :
-
javaw.exe が Windows XP SP2 のデータ実行防止機能の対象となっている可能性があります。
対処法: Windows XP SP2 の『データ実行防止( DEP )』の設定を、『重要な Windows のプログラムおよびサービスについてのみ有効にする』を ON にします。
- 答え 3 :
-
"Could not find main class. Program will exit." のダイヤログが表示される場合は、拡張子「JAR」の設定が正しく設定されていない可能性があります。
対処法: Javaw.exe のパラメーターが「 -jar "%1" %* 」となっているか確認します。
参考情報 : Java のバージョン切り替え方法 : 7. 「アクションを実行するアプリケーション」の「・・・¥Javaw.exe"」 の後に「-jar "%1" %*」 パラメーターを追加し、「OK」ボタンを押す
- 答え 4 :
-
SophiaCompress(Java) のインストールが完全になされていない可能性があります。
対処法:SophiaCompress(Java) をアンインストールし、再インストールします。
アプリが圧縮できないのですが・・・?
- Version :
NTTDoCoMo : DoJa 5.* / DoJa 4.1 の Java アプリを圧縮するとき
- 答え :
-
プロファイル設定の[プロファイル別ライブラリ]に、" dbgclasses.zip "を追加登録していませんか?"
原因:dbgclasses.zip "はデバッグ用のライブラリです。
対処法 : プロファイル設定の[プロファイル別ライブラリ]に登録されている " dbgclasses.zip "を削除します。
- Version :
4.6.*、4.5.*、4.4.*、4.3.*
- 答え :
-
症状:SophiaCompress(Java) が圧縮に失敗する。
対処法:SophiaCompress(Java) の圧縮オプション「スタックマックの最適化(新規クラス作成)」と「クラス変数配列化」は必ずしも全てのアプリに適用できないが確認されています。
対処法:SophiaCompress(Java) の圧縮オプション 「スタックマックの最適化(新規クラス作成)」と「クラス変数配列化」を「オフ」にしてお使いください。 また、プリベリファイヤは携帯 Java SDK 標準のプリベリファイヤをお使いください。
それでも圧縮に失敗する場合は、SophiaCompress(Java) の圧縮オプション「スタックマップの最適化」をオフにしてお試しください。
- Version :
4.6.*、4.5.*、4.4.*、4.3.*
- 答え :
-
症状:プリベリファイエラーが発生する、或いは、圧縮後のアプリが正常に動作しない。
原因:SophiaCompress(Java) 内蔵プリベリファイヤに不具合があることが確認されています。
対処法:プリベリファイヤは携帯 Java SDK 標準のプリベリファイヤをお使いください。
- Version :
4.5.*、4.4.*、4.3.*
- 答え :
-
症状:SophiaCompress(Java) が異常終了する。
原因:SophiaCompress(Java) の圧縮オプションの「switch 文を if に変換」に不具合があることが確認されています。
対処法:SophiaCompress(Java) の圧縮オプションの「switch 文を if に変換」をオフにしてお使いください。
- Version :
4.5.*
- 答え :
-
症状:SophiaCompress(Java) が終了しない。
原因:SophiaCompress(Java) の圧縮オプションの「未使用スタック命令削除」または「System.out.print[ln]()の削除」に不具合があることが確認されています。
対処法:SophiaCompress(Java) の圧縮オプションで、「JDK1.4のサポート」、「未使用スタック命令削除」、「System.out.print[ln]()の削除」の 3 つのオプションをオンにして圧縮をして同様の現象が発生する場合は、「未使用スタック命令削除」または「System.out.print[ln]()の削除」のいずれかの圧縮のオプションをオフにして圧縮します。
- Version :
4.5.1、4.4.*、4.3.*
- 答え :
-
症状:プリベリファイエラーが発生する、或いは SophiaCompress(Java) が終了しない。
対処法:SophiaCompress(Java) の圧縮オプション「スタックマップの最適化」と「スタックマックの最適化(新規クラス作成)」に不具合があることが確認されています。
対処法:SophiaCompress(Java) の圧縮オプション 「スタックマップの最適化」と「スタックマックの最適化(新規クラス作成)」を「オフ」にしてお使いください。 また、プリベリファイヤは携帯 Java SDK 標準のプリベリファイヤをお使いください。
- Version :
4.2.*、4.1.*
- 答え :
-
SophiaCompress(Java) 4.2.1 と 4.2.0 の圧縮オプション「BasicBlock共有」と「内蔵プリベリファイヤ」に不具合があることが確認されています。
SophiaCompress(Java) 4.1.0 または 4.1.1 の 圧縮オプション「インターフェースの削除」「未使用メソッドの削除」に不具合があることが確認されています。
対処法:これらの SophiaCompress(Java) の圧縮オプションを「OFF」にしてお使いください。 また、プリベリファイヤは携帯 Java SDK 標準のプリベリファイヤをお使いください。
- 以上の手段で解決しないとき
- 解決方法 :
-
問題の原因となっている SophiaCompress(Java) の圧縮オプションを突き止めて、その圧縮オプションをオフにします。
具体的な方法 : SophiaCompress(Java) の圧縮オプションについて、 ひとつだけオプションをオンにし、それ以外はすべてオフにして圧縮してみます。
圧縮できないオプションが見つかった場合、圧縮オプションのデフォルト設定からそのオプションだけをオフにして圧縮します。
圧縮後のアプリが正常に動作しないのですが・・・?
- Version :
4.5.*、4.4.*
- 答え :
-
症状:SophiaCompress(Java) で圧縮したアプリが正常に動作しない。
原因:SophiaCompress(Java) の圧縮オプション「抽象クラス融合」に不具合があることが確認されています。
対処法:SophiaCompress(Java) の圧縮オプション「抽象クラス融合」をオフにして圧縮します。
- Version :
4.5.*、4.4.*、4.3.*
- 答え :
-
症状:プリベリファイエラーが発生する、或いは、圧縮後のアプリが正常に動作しない。
原因:SophiaCompress(Java) 内蔵プリベリファイヤに不具合があることが確認されています。
対処法:プリベリファイヤは携帯 Java SDK 標準のプリベリファイヤをお使いください。
- Version :
4.5.*
- 答え :
-
症状:SophiaCompress(Java) で圧縮したアプリが正常に動作しない。
原因:SophiaCompress(Java) の圧縮オプション「クラス変数配列化」に不具合があることが確認されています。
対処法:SophiaCompress(Java) の圧縮オプション「クラス変数配列化」をオフにして圧縮します。
- Version :
4.5.0、4.4.0
- 答え :
-
症状:ADF ( JAM / JAD ファイル ) 内の 実行クラス名が正しく書き換えられていない。
対処法:圧縮オプションで「抽象クラス融合」オプションをオフにしてご利用ください。
- 以上の手段で解決しないとき
- 解決方法 :
-
問題の原因となっている SophiaCompress(Java) の圧縮オプションを突き止めて、その圧縮オプションをオフにします。
具体的な方法 : SophiaCompress(Java) の圧縮オプション「 JDK1.4 のサポート」をオンにして、 ひとつだけオプションをオン(その他のオプションは「 JDK1.4 のサポート」 以外はすべてオフ)にして圧縮してみます。
圧縮できないオプションが見つかった場合、圧縮オプションのデフォルト設定からそのオプションだけをオフにして圧縮します。
インストールしたけれども、どのアプリでも圧縮に失敗するのですが・・・?
- Version :
4.2.*、4.1.*
- 答え :
-
症状:どのアプリを圧縮しても「ファイルが破壊されている可能性があります。圧縮セットアップ中にエラーが発生しました。ファイルパスが正しいか確認してください。」というメッセージが表示される。
対処法:一旦、SophiaCompress(Java) をアンインストールし、再インストールします。それから、PCを再起動して SophiaCompress(Java) を起動します。
他の圧縮ツールと併用できますか?
- Version :
全て
- 答え :
-
併用可能な圧縮ツールは「オブファスケータ」と「 ZIP 圧縮ツール」があります。
「オブファスケータ」では ProGuard が併用できます。このとき、最初に ProGuard で圧縮してから、SophiaCompress(Java) を使います。
他のオブファスケータについては、確認は取れてませんが、併用できる可能性はあります。一般に、「オブファスケータ」を使った後に、SophiaCompress(Java) で圧縮すると圧縮率は高まります。万一、圧縮後のアプリが正常に動作しない場合は、最初に SophiaCompress(Java) で圧縮してから、「オブファスケータ」をご利用ください。
「 ZIP 圧縮ツール」としては、KZIP と 7-ZIP が併用でき、SophiaCompress(Java) の操作画面から設定が可能です。7-ZIP よりも KZIP の方が ZIP 圧縮後のサイズは若干小さくなります。
起動すると、ファイルが開けないエラーが発生したり、"Unable to access jarfile C:\Program" が表示されるのですが ・・・ ?
- Version :
- 全て
- 答え :
-
下記の方法で、拡張子が「JAR」であるファイルを、適切な Java のバージョン ( JDK 1.4.2 または 1.5.0 ) に関連付けます。( JDK 1.4.2 または 1.5.0 のインストールが前提条件になります )
圧縮率を更に向上させるには ・・・ ?
- Version :
- 全て
- 答え :
同じアプリなのに、圧縮後のサイズが変動するのですが ・・・ ?
- Version :
- 4.3.*、4.2.*、4.1.*、4.0.*
- 答え :
-
クラス融合や名前共有で組み合わせるグループの項目が圧縮の実行毎に変化する仕様になっているからです。
保存フォルダの名前に「ム」があると圧縮に失敗するのですが ・・・ ?
- Version :
- 全て
- 答え :
-
iαppli Development Kit Ver.1.02 付属のプリベリファイヤでは、絶対パスに文字「ム」が含まれると、正常に動作しません。
(例)
× c:\ゲーム\tetris.jar
○ c:\game\tetris.jar
「Java.lang.OutOfMemoryError: Java heap space 起動オプション -Xmx<size> を指定して、ヒープサイズを増やして起動してください。」が表示されるのですが ・・・ ?
- Version :
- 全て
- 答え :
-
以下の手順に従って、「起動オプション」を編集してヒープサイズを増やします。
-
エクスプローラより、 [ツール] - [フォルダ オプション] を選択します。

-
[ファイルの種類] タブを開き、 拡張子 JAR を選択して、[詳細設定] ボタンを押します。

-
アクションから [open] を選択し、 [編集] ボタンを押します。

-
[アクションを実行するアプリケーション] の、" -jar " という文字の後ろに、" -Xmx<size> " と追加します。
<size>には、ヒープサイズを指定してください。(例 :100MB の場合 100m)

- [OK] ボタンを押し、SophiaCompress(Java)を再起動してご利用ください。
-
-Xmx<100m>と起動オプションを指定すると起動できなくなりました ・・・ ?
- Version :
- 全て
- 答え :
-
java -jar -Xmx<10000> scompress.jar
のように "<"と">" で括ってサイズを指定すると、「指定されたファイルが見つかりません。」 というエラーメッセージが表示されます。以下のサイズ指定例を参考に、"<"と">"を含めずにサイズ指定を行ってください。
(例)
10000バイト : java -jar -Xmx10000 scompress.jar
100メガバイト : java -jar -Xmx100m scompress.jar
バージョンアップしたら、起動しなくなりました ・・・ ?
- Version :
- 3.2 〜
- 答え :
-
SophiaCompress(Java) の起動には Java 2 SDK 1.4.2 または 1.5.0 が必要となります。
Java 2 SDK 1.3 をお使いのお客様は、以下のページを参考にご使用中の Java のバージョンを切り替えてお使いください。
クラス融合機能を使って圧縮したアプリが、OutOfMemoryErrorで異常終了するのですが ・・・ ?
- Version :
- 3.0.0 ~
- 答え :
-
融合されたクラスは、インスタンス生成に多くのメモリを消費します。 そのため、OutOfMemoryError で異常終了することがあります。
この問題は、圧縮オプションの「クラス融合レベル」を下げる、あるいはクラス融合を「オフ」にすることで回避できます。
クラス融合が活きるプログラミングスタイルは・・・?
- Version :
3.0 〜
- 答え :
-
できるだけ継承を避けてアプリを作成してください。そうすると、クラス融合機能は有効に働きます。










