Sådan tilføjes genoprettelsesknappen til Galaxy S7 Edge Power Menu

Mange Android-brugere ønsker, at der var en enklere måde at genstarte i gendannelsesfunktionen uden at skulle slukke for deres enhed først. Denne vejledning til Samsung Galaxy S7 Edge hjælper dig med at tilføje en Reboot Recovery-knap til Power-menuen inde i Android-systemet.

Vi kommer til at arbejde inden for rammevilkårene res.apk og services.jar i lager ROM, så hvis du er på en brugerdefineret ROM, er denne vejledning ikke beregnet til dig. Jeg har leveret links til at downloade bestanden framework-res.apk og services.jar filer nedenfor.

Krav:

  • APK Easy Tool
  • S7 Edge Framework .zip
  • S7 Edge Services jar .zip
  • ADB - se Sådan installeres ADB på Windows
  1. Så første du skal gøre er at downloade og udpakke de ovennævnte .zip-filer på dit skrivebord.
  2. Download også APK Easy Tool.
  3. Aktiver nu USB-fejlfinding på din Galaxy S7 ved at gå til Indstillinger> Om> tryk på "Byg nummer" 7 gange, indtil Developer Mode er aktiveret. Gå nu til Indstillinger> Udviklerindstillinger> Aktivér USB-fejlfinding.
  4. Tilslut din Galaxy S7 til din pc via USB, og hold Skift + Højreklik i din hoved ADB-mappe, og vælg Åbn et kommandovindue her.
  5. Sørg nu for, at ADB genkender din enhed ved at skrive ' adb-enheder ' uden citaterne. Hvis det lykkes, skal kommandostationen vise enhedens serienummer.
  6. Skriv nu følgende kommandoer i ADB-vinduet:

adb pull / system/framework/framework-res.apk
adb pull / system/framework/services.jar

Skift til en mappe efter eget valg.

  1. Åbn nu APK Easy Tool, og vælg Vælg ved siden af APK-filen for at arbejde videre . Vælg den ramme-res.apk du har trukket fra din Galaxy S7. Klik nu på knappen Decompil.

  1. Gå nu ind i kataloget for den dekompilerede .APK-fil, og indsæt filerne fra den ramme-res.zip-fil, jeg leverede til den dekompilerede mappe på din framework-res.apk.
  2. Nu bruger jeg en teksteditor, jeg anbefaler virkelig noget som Notepad ++, der kan organisere XML-kode, åbne res / values ​​/ arrays.xml
  3. Nu er her hvor vi skal blive rigtig tekniske. Du skal føje alle de linjer, jeg viser med fed skrift i følgende snaps af kode.
  4. Find og tilføj det, jeg har fed.

strøm
datamode
fly
genstart
Lockdown
fejlrapport
brugere
Genstart genopretning
nødtilstand
subscreen
screenrec

  • Gå nu til res / values ​​/ strings.xml og tilføj den fedte .

Opladning af tilsluttet enhed via USB
10, 32, 768, 10, 60
Genstart genopretning

  • Okay, vi er færdige med framework-res.apk. Du kan nu genkompilere det i APK Easy Tool.
  • Nu skal vi arbejde på Services.jar, så dekompilere Services.jar med APK Easy Tool og kopiere filerne fra Services jar .zip-filen, som jeg har angivet ovenfor i den nyligt dekompilerede Services.jar-mappe.
  • Nu bruger du en teksteditor, skal du åbne smali / com / android / server / policy / GlobalActions.smali, og igen skal du føje den modige linje i feltet # instance

.field mEmergencyStringId: Jeg
.field private mRebootRecovery: Lcom / android / server / policy / GlobalActions $ SinglePressAction;

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her
  • Find nu .metode privat createDialog () Lcom / android / server / policy / GlobalActions $ GlobalActionsDialog;
if-eqz v4, :cond_8 const v4, 0x10809f4 :goto_4 const v6, 0x10406e2 move-object/from16 v0, p0 invoke-direct {v5, v0, v4, v6}, Lcom/android/server/policy/GlobalActions$20;->(Lcom/android/server/policy/GlobalActions;II)V move-object/from16 v0, p0 iput-object v5, v0, Lcom/android/server/policy/GlobalActions;- >mRestart:Lcom/android/server/policy/GlobalActions$SinglePressAction; new-instance v4, Lcom/android/server/policy/GlobalActions$47; move-object/from16 v0, p0 iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 const-string v1, "tw_ic_do_rebootrecovery" const-string v2, "drawable" const-string v3, "android" invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I move-result v5 move-object/from16 v0, p0 iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 const-string v1, "tw_ic_do_rebootrecovery" const-string v2, "string" const-string v3, "android" invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I move-result v6 move-object/from16 v0, p0 invoke-direct {v4, v0, v5, v6}, Lcom/android/server/policy/GlobalActions$47;->(Lcom/android/server/policy/GlobalActions;II)V move-object/from16 v0, p0 iput-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction; invoke-static {}, Lcom/samsung/android/feature/SemCscFeature;->getInstance()Lcom/samsung/android/feature/SemCscFeature; move-result-object v4 const-string/jumbo v5, "CscFeature_Common_ConfigBikeMode" 
  • Den næste del er vanskelig, du skal tilføje de fedte linjer og ændre den understregede.
 const/16 v6, 0x80 const/4 v7, 0x1 move-object/from16 v0, p0 invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z new-instance v4, Lcom/android/server/policy/GlobalActions$BugReportAction; move-object/from16 v0, p0 invoke-direct {v4, v0}, Lcom/android/server/policy/GlobalActions$BugReportAction;->(Lcom/android/server/policy/GlobalActions;)V move-object/from16 v0, p0 iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList; const/16 v6, 0x100 move-object/from16 v0, p iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction; move-object/from16 v0, p0 iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList; const/4 v7, 0x1 move-object/from16 v0, p0 invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z const/16 v6, 0x200 #before was 0x100 const/4 v7, 0x1 move-object/from16 v0, p0 invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z 
  • Søg nu efter const-string / jumbo v4, lydløs og tilføj disse linjer over den. De to fedte linjer skal matche.
 const-string/jumbo v4, "emergencymode" invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_15 move-object/from16 v0, p0 iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList; move-object/from16 v0, p0 iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mEmergency:Lcom/android/server/policy/GlobalActions$ToggleAction; invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto/16 : goto_7 :cond_15 const-string/jumbo v4, "rebootrecovery" invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_asc1 move-object/from16 v0, p0 iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList; move-object/from16 v0, p0 iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction; invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto/16 : goto_7 :cond_asc1 const-string/jumbo v4, "silent" 

Dernæst skal vi tilføje en manglende del af Android 7 services.jar, så vi skal tilføje det til denne mod til arbejde.
Find linjen for .metode privat addCustomDialogItems (Landroid / grafik / drawable / BitmapDrawable; Ljava / lang / String; Landroid / indhold / Intent; ILjava / util / ArrayList;) Z

Og tilføj denne metode ovenfor:

 .method static synthetic access$500(Lcom/android/server/policy/GlobalActions;)Landroid/content/Context; .locals 1 iget-object v0, p0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context; return-object v0 .end method 

Det er det, nu genkompilér services.jar, og du kan skubbe både de rekompilerede framework-res.apk og services.jar tilbage på din telefon, enten med adb push- kommandoen eller med APK Easy Tool Installer til Phone-knappen.

Hvis du får startsløjfe, når du trykker på telefonen, starter du i brugerdefineret gendannelse og tørrer Dalvik + Cache.

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Facebook Twitter Google Plus Pinterest