スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Date: --.--.-- Category: スポンサー広告   

DeFroST を odexing

最近の DeFroST の難点の一つは、de-odexing されてしまっていることかもしれません。
これは 以前のエントリ で触れたように、.dex を最適化した形式である .odex を classes.dex に戻してしまうことなのですが、DeFroST 0.9 あたりで /system/app と /system/framework 以下にあった .odex が de-odexing されてしまったのです。

どうもアプリの追加、削除、更新のし易やや、Black status bar のようなことをするためには de-odexing が必要だったとのことです。

ですが、これにより /data 以下の容量をかなり圧迫します。.odex が無ければ /data/dalvik-cache 以下に作成します。これだけでも 20MB 以上は容量を消費していると思います。開発に便利なことは理解しますが、少々困りものです。

と言う訳で、今度は .odex を作ってみましょう。
もし既にインストールした .apk であれば、/data/dalvik-cache ディレクトリ以下にある .dex ファイルがそのまま .odex ファイルとして使えます。ただしファイル名が変わっている (ディレクトリ区切りが @ となって、パッケージファイル名の後に classes.dex がついている) ので、.apk にあわせた名前に変更する必要があります。

インストール前のファームウェアの odex を作る場合は、dexopt-wrapper というコマンドを使います。このコマンドは odex を使うデバイス上で実行する必要があります。使い方は
dexopt-wrapper filename.apk filename.odex
で .apk から .odex を作成することができます。

.odex があれば .apk 内の .dex が不要になるので、
zip -d filename.apk classes.dex
と実行すると classes.dex を削除することができます。この場合、.apk に再署名をする必要はありません。
.apk の内容を変更した時は、最適化をすることが推奨されるようです。最適化には zipalign というコマンドを使います。このコマンドは android SDK などに含まれています。実行するには
zipalign -f -v 4 filename.apk
とします。

これで .apk と .odex のセットができました。これを同じディレクトリに置いておけば /data/dalvik-cache 以下を消費することがなくなります。ただ、app ディレクトリはうまくいきましたが、framework ディレクトリはなぜか起動しなくなってしまうことがありました。

と言う訳で、/system/app 以下だけですが odexing した DeFroST 1.2 ファームを 置いておきます
しかし、ここだと大きなファイルは消されてしまうのですね。。。以前あげたファームが消えているので初めて気がつきました。

6月27日追記
/system/app/ 以下をまとめて odexing する場合に便利なスクリプト
http://android.modaco.com/content/htc-hero-hero-modaco-com/301910/odex-script-for-unodexd-roms/
スポンサーサイト
Date: 2010.06.27 Category: desire  Comments (0) Trackbacks (0)

この記事へのコメント:


管理人のみ通知 :

トラックバック:


最新記事
最新コメント
ウィジェット
月別アーカイブ
カテゴリ
プロフィール

SC3WO06A

Author:SC3WO06A
FC2ブログへようこそ!


検索フォーム
RSSリンクの表示
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。