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イメージの焼き直しが必要)。という訳で上記の方法をまず試すことをお勧めします。

2015年11月9日月曜日

Facebookアプリのメモリ消費量対策

iOS界隈でも話題になっておりますが、オリジナルのFacebookアプリはあまりに出来が悪いので正直困ったものです。
アプリ自体も40MB以上のサイズがあり、これをほぼ毎週アップデートさせる。
さらに、ART(Android Ver.5以降)環境ではおおよそメモリを200MB以上も消費しながら常駐する(書込を適時受信する以上常駐するのは分かるにしても機能から考えると正直大きすぎだと思います)。
更に腹立たしいのはチャットの機能をMessengerに外出ししたこと。その行為自体は理解は出来ますが、このアプリ自体も非常にバカでかい。本体ほどではないけれどもサイズも20MB超えと最適化って何?というレベル。
私もいい加減嫌になって先月アンインストールし1週間位はChrome版を使用していたのですが、実は新興国向けに純正でLiteなるアプリを作っていたことがわかり、今回紹介するものです。

お断り

以上の相違・問題点があるので納得した方以外は使わないで下さい。

  • Liteは残念ながらFacebook純正アプリですが、日本ではPlayストア経由での標準インストールは出来ません。以下に書く方法で「自分の責任」で使用する必要があります。
  • 新興国向けのLightなアプリである以上、投稿にある動画をそのまま再生する機能などが省かれています。また私も全部の機能は使っていないので不明ですが今まで使っていた機能が省かれている場合があります。
  • 残念ながら、表示されているフォントが中文フォントです。日本語は見ることは出来ますが中国人特有の明朝とゴシックの入り混じった形で表示されます。さらに句読点の位置が中文フォントの書式にのっとって中心になります。

ダウンロード・インストール方法

"Facebook Lite ダウンロード"とググってAPKファイルを置いてある場所を探して下さい。ちなみに私はAPKMirrorからダウンロードしました。これを書いた時点(2015年11月8日)で1.14.0.98.222が最新版のようです。
なお、自分の端末にファイルをダウンロードしてインストールする際は、以下の2つを設定することをお勧めします(ただしセキュリティホールになりうる設定もあるので注意すること)。
  • 署名されたAPK以外は設定→セキュリティ→提供元不明のアプリを有効化して下さい。このAPKがFacebookにより署名されている場合はこの設定は不要かもしれませんが、それ以外のものはこれを有効化しないとインストールできません(申し訳ありませんが、自分は理解して常時この設定を有効化しているためLiteがこの設定が必要かは検証していません)。
  • 上記の方法で野良アプリをインストール可能にしたので、念の為ウィルススキャナアプリをインストールしておきます。無償提供される所ではAvast!やAVGあたりでもよろしいのではないでしょうか?

使用後の感想

使用後の感想はおおよそ70MBとぐっと使用メモリ量は減っています。やっぱり専用アプリ使いたい人はこっち使う価値はあると思います。ただし少しでも無駄なメモリは使って欲しくないし、逐次更新は不要な場合はChrome使ったほうがいいかもしれませんね。