数日前に Xperia A SO-04E [ZR C5503]を Lollipop 根付き化した記事を書きましたが、その際に気になったのが、Systemディレクトリ内に odex ディレクトリと odex.sqsh と呼ばれるファイルが存在していたこと。同ディレクトリ/ファイルは、その他 Lollipop デバイスでは見たことがなかった。少し調べてみると、SONY 独自の仕組みとなっているようで、通常であればodexファイルは、System/app/アプリ名/ ,/priv-app/アプリ名/armディレクトリに格納している。Sony の Lollipop では それらodexファイルが、system/odex/アプリ名/arm/odexファイルへのシンボリックリンクとなっている模様。
Deodex化するにはまずこれらリンクを置き換える必要があるとのこと。
source:
以下内容は、文鎮化する可能性もありますので、自己責任にてお願いします。
今回は、odexファイルをsystem/app/アプリ名/arm内に入れ込む作業まで、つまり odex ROM 化まで、deodex化(後日記述済み)まではしませんのであしからず。
手順
上記XDAサイトより SquashFS Tools なるツールをダウンロードしてくる(windows/lunuxで動作OK)。また、PCに 10.6.A.0.454 system を ADB pull しておく。
作業環境とデバイスの準備
- OS 5.0.2 ,FW 10.6.A.0.454,Rooted
- Google Play から Busybox インストールしておく
- PC Windows7 android-SDK install済み
SquashFS Tools を使う
解凍してできた squashfs_tools フォルダに adb pull してきた system/odex.sqsh を 保存しておく。同フォルダ内でシフトを押しながら右クリックして”コマンドウィンドウをここで開く”を選択すると コマンドウィンドウが開く。
下記をコマンド
unsquashfs -no-xattrs odex.sqsh
完了したら ”squashfs_tools”フォルダに ”squashfs-root”フォルダが追加され以下に
- app
- framework
- priv-app
- vendor
が作成されそれらのフォルダの中に、/アプリ名/アプリ名.odex のみが展開される。それらフォルダを ”system”フォルダを新たに作成し、その中に保存する。
odex ファイルを端末に入れ込む
作成したsystemフォルダをsdcardに保存しておき以下コマンド。
adb shell su mount -o rw,remount /system
systemをマウントする
cp -R /sdcard/system data/local/tmp/
Sdcardのsystemディレクトリ以下をdata/local/tmp/にペーストする
chmod -R 755 data/local/tmp/system
data/local/tmp/system以下のディレクトリのフォルダ/ファイル全てのパーミッションを 755 に変更する
busybox find data/local/tmp/system/ -name *.odex -exec chmod 644 {} \;
find コマンドを使用し、data/local/tmp/system以下にある .odex という名前の付くファイルの全てを パーミッション 644 に変更する
cp -a -p /data/local/tmp/system/* /system/
/data/local/tmp/system以下のディレクトリとファイルをすべて system以下にパーミッションを維持したままペーストする
busybox mv /system/odex.sqsh /system/odex.sqsh.bac
/system/odex.sqsh をリネーム
reboot
data/local/tmp/内にあるsystemディレクトリを削除して完了というところでしょうか。ファイルマネージャーで確認すると”odex”ディレクトリがなくなって、odex.sqsh がodex.sqsh.bac になっていることが確認できる。起動しているということは、odexファイルは書き換わっている状態と思われるがいかがでしょう。
以上 odex ROM 化 完了。
LBD2.5 を使用して アプリを deodex化して導入するもよし、色々試されてはいかがでしょう。
※追記2015/06/19 再起動したら、一度消えていたodexディレクトリが復活している模様。boot もしくは system イメージの問題?わかりません。
関連記事
Sponsored links