2015年11月21日土曜日

Xposedのモジュールが衝突した場合の対応

rootを取る人にとって必要性が高い理由としてはXposedフレームワークを使いたいというのがあると思います。
私も合計13本のアプリをインストール+有効化しています。
  • 3c Toolbox Pro
  • Amplify
  • AndroPlusMod
  • *BubbleUPnP
  • *Force Touch Detector
  • Greenify
  • HandleExternelStorage
  • MinMinGuard
  • Native Clipboard
  • Statusbar download progress
  • SystemUI Patcher
  • *UnrestrictedGetTasks
  • Xperia  Xposed(LP)
  • *YouTube AdAway
*付のは正直あまり使っていない、もしくは機能がよく分かっていないもの。端末の健康を考えて近々整理したいと思います。
で、今回のネタは以前はGravity Boxを使用してタスクバーのアイコン表示を隠していたのですが、最近端末のメモリ消費量を考えてNovaLauncher と LMTの併用をやめてXperiaランチャーをメインにした結果、代わりに入れたSerajr Xperia Xposedとの衝突で画面が真っ暗になったのをこの方法で解決したって話です。
この方法、XposedモジュールとPlayアプリが衝突してブートループを起こした場合も有効です。

基本的操作方法

ここに書いてある方法でXposedを起動時に無効化します、おわり。では「英語なんかわからん」って場合は積んでしまいますので説明します。
/data/data/de.robv.android.xposed.installer/conf に"disabled"という名前のファイルを作成します。
コマンドで言うとtouch disabledになります。

解決方法1

Gravity BoxとXperia Xposedが衝突した場合、画面は真っ暗なのですが何故か電源ボタンの長押しでの電源断ウィンドウは表示されたので、PCに接続しadb shellで以下のコマンドを入力します。
su
cd /data/data/de.robv.android.xposed.installer/conf
touch disabled

解決方法2

XZDRなどリカバリをインストールしている際はリブートしリカバリを起動してリカバリプログラムのシェルから同じ操作をします。
リカバリがTWRPの場合は Advanced > Terminal Command でシェルが開きます。直接/data/data/de.robv.android.xposed.installer/confを"select"で選択してからtouch disabledと入力します。

その後の対応

端末をブートするとXposedフレームワークが無効化されて起動します。その後、フレームワークのアプリから競合関係のモジュールを無効化して下さい。インストールしたアプリが衝突した場合は、そのアプリをアンインストールもしくは設定変更して下さい。
もちろんdisabledファイルを消さないとその後もXposedフレームワークは有効化しないのでお忘れなく。

おまけ

上記とほぼ同じことを行う目的で、Xposed uninstallerのzipファイルでフレームワークを消した(リカバリで実施)場合、消す事自体は可能ですがその後の再インストールに失敗して起動しなくなった場合がありました(再度FTFイメージの焼き直しが必要)。という訳で上記の方法をまず試すことをお勧めします。

0 件のコメント:

コメントを投稿