5.0.2 LollipopでXposedをブートループさせずに使う方法

この記事の賞味期限は切れています。掲載内容や情報が古い可能性があります。

XperiaのAndroid 5.0.2 Lollipopでは、Lollipop対応版のXposedフレームワークを
インストールしても二度目の再起動時にブートループしてしまう問題がありました。
根本的な原因は分かっていないのですが、ひとまずの対処法が分かりました。
[更新 4/18] /systemのパッケージ数が330以上だとToo many open filesエラーが起きてしまうことが原因のようです。


[更新] Xposed Alpha 4で公式に修正されています!
lee480氏によれば、対処法はsystemをdeodexすることです。
Xposedインストールの流れは以下の通りです。
1. deodex zipを作成する
2. このページでxposed-arm-20150308.zip、XposedInstaller_3.0-alpha2.apkをダウンロードする
3. XposedInstaller_3.0-alpha2.apkをインストールする
(このときモジュールをインストールして有効化しておくと後で再起動せずに済みます)
4. リカバリへ再起動し、deodex zipをインストールする
5. 一旦再起動する
6. リカバリへ再起動し、xposed-arm-20150308.zipをインストールする
7. モジュールを有効化していない場合は有効にして再起動する
Lollipop (ART)でのdeodexはJoelDroidなどで出来ます。
ただ、JoelDroidを使う場合はXperiaには対応していないため、
/system/vendor/app以下と/system/framework/SemcGenericUxpResを
/system/appに移動した後deodexして元の場所に戻してzipを作る必要があります。
Xperia Z3 D6603 (NCB)向けのdeodex zipはこちらです。
Z2 D6503向けのdeodex zipはこちらで配布されています。
また、単にdeodexしただけだとDownloadAgent、com.android.phone、NFCサービスの動作が停止することがあります。
その場合は下記のコマンドを実行してください。
上記のZ3向けzipでは自動実行しているので手動で実行しなくてもかまいません。

adb shell
su
mount -o remount,rw /system
rm -f /system/app/bootinfo/lib/arm/libMiscTaAccessor.so
cp /system/lib/libMiscTaAccessor.so /system/app/bootinfo/lib/arm/libMiscTaAccessor.so
rm -f /system/vendor/app/ims/lib/arm/libimsmedia_jni.so
cp /system/vendor/lib/libimsmedia_jni.so /system/vendor/app/ims/lib/arm/libimsmedia_jni.so
rm -f /system/app/NfcNci/lib/arm/libnfc_nci_jni.so
cp /system/lib/libnfc_nci_jni.so /system/app/NfcNci/lib/arm/libnfc_nci_jni.so

deodexしないといけない、という条件はありますがこれでXposedがちゃんと使えるようになりました。
小細工しなくても使えるよう修正して欲しいところですが、
今のところはこの解決策で我慢するしかありません。

はてブ Pocket Mastodon タイトルとURLをコピー
カテゴリ:

技適の無い機器の使用は自己責任です。
中国版デバイスは日本語に対応していないものが多いため、ADBコマンドでの日本語化が必要です。
root化済み・非rootそれぞれのやり方はこちらの記事を参考にしてください。