Memo/Java/携帯

https://dexlab.net:443/pukiwiki/index.php?Memo/Java/%B7%C8%C2%D3
 

Memo/Java

携帯

プロジェクト

  • 合言葉は「700は505」
    • 700以下は505と割り切って、思いっきり仕様削減する。
    • 505版と900版に分けた方が短納期で納品できる
    • 700は速度は901か902くらい出るので悪い機械では無い

Doja環境変数

  • メニュー -> 設定 -> ビルド設定 -> スクリプトの編集内で使える環境変数
    (ビルド前後で使える環境変数は同じだった)
  • helloというプロジェクトで行った場合
    • Doja4.0
      • cd
        C:\java\iDKDoJa4.0\apps\hello\bin
      • set
        APP_CLASS=Hello
        COMSPEC=C:\WINDOWS\system32\cmd.exe
        JAR_PATH=C:\java\j2sdk1.4.2_12\bin\jar.exe
        PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS
        PROJECT_NAME=hello
        PROMPT=$P$G
        

ezplusアプリ(*.kjx) -> jad,jar変換

ezplusアプリのkjxファイルはjad+jarなので、展開すれば、逆コンパイラでソースを見ることもできます。

  • 使い方
    perl kjx2jar.pl yyy.kjx
  • perlスクリプト
    filekjx2jar.pl

jarサイズ縮小&難読化

  • jopt
    • サイズ制限が厳しい、携帯用Java向けに以下の一連の作業をスクリプト化。
      ProGuard -> DoGa -> 7-zip
    • スクリプト中のDOJA処理を除けば、通常Javaでも使用可能
    • サンプルデータ
      ファイル名元サイズ最適化後サイズ縮小率
      CarRace?.jar200151631781.52%
      donadona_climb.jar139911133981.04%
      fall.jar10404852581.94%
      kerodungeon.jar316152397275.82%
    • 必須
    • 使い方
      1. このスクリプト中の「設定」を自分の環境に合わせる
      2. jopt_start.js にjarファイルをドラッグ&ドロップ(複数可)
      3. 途中でDoGa?が起動するので、実行ボタンを2回押す(実行 -> 了解 -> 実行 -> API -> No)
      4. エラーがなければ、 jarファイルのサイズが縮小される
      5. エミュレータ、実機でテスト
    • ファイル
      filejopt_20060228.zip
      filejopt_20050816.zip

文字列を分解し、配列で返す

iアプリではStringTokenizer?が使えないのでその替わり。

	/**
	* 文字列を分解し、配列で返す
	*
	* @note
	* - iアプリではStringTokenizerが使えないので替わり
	*/
	public String[] strSplit(String str, String delim){
		str = str + delim;
		String[] mes = new String[0];
		String[] temp = new String[0];
		int t = 0;
		String buf = null;
		while(true){
			t = str.indexOf(delim);
			if(t==-1) break;
			if(t==0){
				buf = "";
			}else{
				buf = str.substring(0,t);
			}
			str = str.substring(t+1);
			System.arraycopy(mes,0,temp,0,mes.length);
			mes = new String[mes.length + 1];
			System.arraycopy(temp,0,mes,0,temp.length);
			mes[ temp.length ] = buf;
			temp = new String[ mes.length ];
		}
		return mes;
	}

リンク


添付ファイル: filekjx2jar.pl 788件 [詳細] filejopt_20060228.zip 1290件 [詳細] filejopt_20050816.zip 1139件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:37 (35d)