2013年4月4日木曜日

Xposedのモジュールでステータスバーアイコンの明るさと大きさを変更する

先日Xperia acroHD(SO-03D)のセルスタンバイ対策を行うに当たって
Xposedというフレームワークをインストールした。これはAndroid OSの
起動時に、システムのクラスメソッドやリソースをフックして簡単に設定を
変更出来る便利なフレームワークである。例えばステータスバーの
バッテリー残量アイコンをSystemUI.apkを弄る事なく差し替える事も
可能となっている。

自分でも何か作ってみようと思い立って、まずはICS以降でステータス
バーのアイコンが暗くて小さく表示される部分をカスタムする事にした。
具体的にはGingerbreadの時と同じように、明るく普通のサイズで
表示するように設定を変更してみた。


【必要なもの】
・Android 4.0.3以降のrooted端末
・Xposed (バージョン2.1以降)
・ステータスバーアイコン変更モジュール (今回作成したモジュール)
https://drive.google.com/open?id=0B3bjmX6Y3dO5bFZFX2ExUGFNSFE

【ステータスバーのアイコン】
左が変更前、右が変更後になっている。見づらいかもしれないが、
ステータスバーのアイコンが明るく大きく表示されている。


Xperia acroHDでのみ確認したので他の端末で正常に
表示されるか不明だが、試してみたい人は自己責任でどうぞ。

念のためeclipseで作成したソースコードも置いておくので参考にどうぞ。
XposedBridgeApi.jarは各自で用意、ビルドターゲットはAPIレベル16以上にする事。
https://drive.google.com/open?id=0B3bjmX6Y3dO5ZDVNYUtqbFRPbnM


【2013/7/14 追記】
上記変更およびバッテリアイコン100段階化、バッテリーアイコン非表示、
バッテリーテキスト非表示のオプションを追加したモジュールを作ってみた。

■ Still Life: Xposedの簡易ステータスバーモジュールを作ってみた
http://hascha.blogspot.jp/2013/07/xposed.html

7 件のコメント:

  1. 初心者ですいません。
    このソースをeclipseでコンパイルするとframework-res.apkのリソースを参照している所で怒られます。
    どうすれば怒られなくなるのでしょうか?

    返信削除
  2. 下記リンク先からXposedBridgeApi.jarをダウンロードして、プロジェクトのプロパティから参照ライブラリとして設定してください。
    https://github.com/rovo89/XposedMods/tree/master/XposedLibrary

    返信削除
    返信
    1. スイマセン、説明不足でした。
      もちろん参照ライブラリとしてXposedBridgeApi.jarは設定してあります。
      そちらではなくdimens.xmlで定義している、
      @*android:dimen/navigation_bar_height_landscape
      これでエラーになってしまうのです。
      これってframework-res.apkのリソースを参照していますよね?

      削除
    2. おそらくビルドターゲットをAPIレベル16以上にしないと駄目かもしれません。

      削除
  3. ありがとうございます。
    無事ビルド出来ました。

    返信削除
  4. 明るさの設定についての記事。とても参考になりました。

    返信削除
  5. Xperia mini proでも利用できました。

    返信削除