ノートン体験板バナー
2014年4月25日金曜日

[Moto G XT1032] 電源長押しに”4Way再起動メニュー”を追加

スポンサーリンク

------------------------------------------

 電源ボタンにReboot"4Way再起動メニュー"を追加。
 先日まで使用していたReboot系のアプリ Quick bootは2タップで”再起動””Recovery”が出来るので十分に事足りているのですが、Tryしてみた。
[Moto G XT1032 4.4.2 StockRom] 4-way reboot Advanced Power Menu :Deodexed android.policy.jar



参考

  • XDAこちらのTread"[MOD] 4-Way Reboot - How to (GB) (ICS) (JB)
  • XDAこちらのTread"[MOD][KOT49H/E/][KRT16M] Advanced 4 Way Reboot Menu - for odex and deodexed Stock ROM "

必要なファイル等

  • kamome tool(こちらのTread。Deodexed android.policy.jarにする)
  • Apk-Multi-Tool(Deodexed android.policy.jarをDecompile Compileする)
  • Moto_G_GlobalActions$11pack(解凍しておく)

 上記スレッド、Toolを作っていただいた方々に、この場をお借りいたしまして、感謝申し上げます。Thanks

諸条件

  • Moto G XT1032 4.4.2 StockRom 174.44.1.falcon_umts.Retail.en.US Odex/DeodexedROM(以外でも動作するかも)
  • Rooted,CWMrecovery,TWRP
  • 事前のバックアップ等をしておくこと
  • 電源ボタンが動作しなくなる可能性があるので、Reboot系のアプリをインストールしておく
  • System内、特に危険領域であるframeworkを改変をするので、何かあったとき用の回復ツールがあること

手順

 android.policy.jarをDeodex化→同Deodex化したjarをApk-Multi-ToolでDecompile→編集後→Compile→CWM、TWRP用zipで導入。Deodex化とjar Decompile、Compileの詳細は端折る。

Deodex化
Moto G からandroid.policy.jarとandroid.policy.odexを抜き取ってきて、kamometoolでDeodex化する。

Apk-Multi-ToolでDecompile
Dedex化したandroid.policy.jarを"place-apk-here-for-modding"に入れてDecompile
projectフォルダ内にandroid.policy.jarができる。

GlobalActions$11pack内の3filesを追加する
・GlobalActions$11$1.smali
・GlobalActions$11$2.smali  
・GlobalActions$11.smali
 GlobalActions$11pack内の上記3filesを、先ほどDecompileして作成されたandroid.policy.jar/smali/com/android/internal/policy/imp/に追加


GlobalActions$SinglePressAction.smaliとGlobalActions.smaliを編集
■GlobalActions$SinglePressAction.smali
赤文字を追記

--------------------------------------
.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x40a
    name = "SinglePressAction"
.end annotation

# static fields
.field protected static rebootMode:I

.field protected static final rebootOptions:[Ljava/lang/String;


--------------------------------------

.field private final mIcon:Landroid/graphics/drawable/Drawable;

# direct methods
.method static constructor <clinit>()V
    .locals 3

    const/4 v0, 0x4

    new-array v0, v0, [Ljava/lang/String;

    const/4 v1, 0x0

    const-string v2, "Reboot"

    aput-object v2, v0, v1

    const/4 v1, 0x1

    const-string v2, "Hot Boot"

    aput-object v2, v0, v1

    const/4 v1, 0x2

    const-string v2, "Bootloader"

    aput-object v2, v0, v1

    const/4 v1, 0x3

    const-string v2, "Recovery"

    aput-object v2, v0, v1

    sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;

    return-void

.end method

.method protected constructor <init>(II)V
    .locals 1
    .param p1, "iconResId" # I
    .param p2, "messageResId" # I

--------------------------------------
■GlobalActions.smali

const v3, 0x10400c7

invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$2;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$11;

const v2, 0x108007c

const v3, 0x1040366

invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$11;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V

invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

.line 270
iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mItems:Ljava/util/ArrayList;

id "0x108007c" はstat_notify_sync iconで android OSに含まれる標準アイコンのid
id "0x1040366" はframewrok-res.apkをDecompileしてvalues/public.xml内に記述してある"factorytest_reboot" id="0x01040366"を記述。


--------------------------------------
CWMrecovery、TWRPから導入
4-way_reboot_Advanced_Power_Menu_4_Moto_G(android.policy.odexが削除され、4way reboot 対応のdedexed_android.policy.jarが導入される)

Moto_G_Default_Deodexed_android.policy.jar(Original Deodexed android.policy.jarに戻す場合に使用する)

Moto_G_Default_Odex_android.policy.jar_.odex(OriginalのOdex android.policy.jar/android.policy.odexの状態に戻す場合に使用する)

※追記
2014/06/06 再確認導入後、良くも悪くもないというところかな? Related Posts Plugin for WordPress, Blogger...

スポンサーリンク

------------------------------------------

0 件のコメント :

コメントを投稿