Posted by : Derry Adrian
Jumat, 20 Juni 2014
share nih tutorial dari xda cara tmbah 4 boot menu.
SS :
Bahan :
Android.policy.jar
Tutorial :
1.Decompile android.policy.jar
2.Taro hasil download bahan di atas ke tempat nya...ntar di timpa aja
3.Buka GlobalAction.smali
4.Cari "Lcom/android/internal/policy/impl/GlobalActions$5;" (karna tiap rom ada yg beda nomor nya...jadi kalian temukan sendiri ya...yg ada shutdown id nya)
5.Ubah angka 5 menjadi 99
Before :
Code: new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$5; const v3, 0x1080030 const v4, 0x1040121 invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$5;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
Code: new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$99; const v3, 0x1080030 const v4, 0x1040121 invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$99;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
6.Buka GlobalActions$SinglePressAction.smali
7.Sebelum line "# instance fields"
Paste kode ini
# static fields .field protected static rebootMode:I .field protected static final rebootOptions:[Ljava/lang/String;
9.Dan sesudah kode ini "# direct methods"
Paste kode ini
.method static constructor <clinit>()V .registers 3 const/4 v0, 0x5 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, "Download" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "Recovery" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "Shutdown" aput-object v2, v0, v1 sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String; return-void .end method
Jadi nanti bakalan menjadi seperti ini
.class abstract Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction; .super Ljava/lang/Object; .source "GlobalActions.java" # interfaces .implements Lcom/android/internal/policy/impl/GlobalActions$Action; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/android/internal/policy/impl/GlobalActions; .end annotation .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; # instance fields .field private final mIconResId:I .field private final mMessageResId:I # direct methods .method static constructor <clinit>()V .registers 3 const/4 v0, 0x5 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, "Download" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "Recovery" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "Shutdown" 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 (II)V .registers 3 .parameter "iconResId" ......... .........
NOTE : BUDAYAKAN BACKUP SEBELUM EKSEKUSI
Thanx to :
xda
evanlocked@xda
Sumber :
http://forum.xda-developers.com/showthread.php?t=1866592
mantapp
BalasHapus