Slik legger du til Reboot Recovery-knappen til Galaxy S7 Edge Power Menu
Mange Android-brukere ønsker at det var en enklere måte å starte på gjenopprettingsmodus uten å måtte slå av enheten først. Denne veiledningen for Samsung Galaxy S7 Edge vil hjelpe deg å legge til en Reboot Recovery-knapp i Power-menyen fra inne i Android-systemet.
Vi skal jobbe innenfor rammene-res.apk og services.jar-filene i lager ROM, så hvis du er på en tilpasset ROM, er denne veiledningen ikke ment for deg. Jeg har gitt linker for å laste ned bestanden framework-res.apk og services.jar-filene nedenfor.
Krav:
- APK Easy Tool
- S7 Edge Framework .zip
- S7 Edge Services jar .zip
- ADB - se Slik installerer du ADB på Windows
- Så første du trenger å gjøre er å laste ned og pakke ut de ovennevnte .zip-filene på skrivebordet.
- Last ned også APK Easy Tool.
- Aktiver nå USB-feilsøking på Galaxy S7 ved å gå til Innstillinger> Om> trykk på "Bygg nummer" 7 ganger, til Utviklingsmodus er aktivert. Gå nå til Innstillinger> Utvikleralternativer> aktiver USB-feilsøking.
- Koble din Galaxy S7 til PCen via USB, og hold Shift + Høyreklikk inne i hoved ADB-mappen din, og velg Åpne et kommandovindu her.
- Kontroller at ADB gjenkjenner enheten ved å skrive « adb-enheter » uten anførselstegn. Hvis det lykkes, skal kommandoterminalen vise enhetens serienummer.
- Skriv inn følgende kommandoer i ADB-vinduet:
adb pull /system/framework/framework-res.apk
adb pull /system/framework/services.jar
Endre til en mappe etter eget valg.
- Åpne nå APK Easy Tool, og velg Velg ved siden av APK-filen for å jobbe videre . Velg rammen-res.apk du dro fra Galaxy S7. Klikk nå på dekompileringsknappen.
- Gå nå inn i katalogen til den dekompilerte .APK-filen, og lim inn filene fra ramme-res.zip-filen jeg ga inn i den dekompilerte mappen på rammen-res.apk.
- Nå bruker jeg en tekstredigerer, jeg anbefaler virkelig noe som Notepad ++ som kan organisere XML-kode, åpne res / values / arrays.xml
- Nå er her hvor vi skal bli veldig tekniske. Du må legge til alle linjene jeg viser med fet skrift i følgende kuttskutt.
- Finn og legg til det jeg har fet skrift på.
makt
datamode
fly
omstart
lockdown
feilrapport
brukere
rebootrecovery
nødmodus
subscreen
screenrec
- Gå nå til res / values / strings.xml og legg til fet skrift .
Lader tilkoblet enhet via USB
10, 32, 768, 10, 60
Reboot Recovery
- Ok, vi er ferdige med ramme-res.apk. Du kan nå kompilere det i APK Easy Tool.
- Nå skal vi jobbe med Services.jar, så dekompilere Services.jar med APK Easy Tool, og kopier filene fra Services jar. Zip-filen jeg angav ovenfor i den nylig dekompilerte Services.jar-mappen.
- Nå bruker du en tekstredigerer, åpner du smali / com / android / server / policy / GlobalActions.smali, og igjen skal du legge til den modige linjen i # instansfeltene
.field mEmergencyStringId: Jeg
.field private mRebootRecovery: Lcom / android / server / policy / GlobalActions $ SinglePressAction;
- Finn nå .metoden 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 neste delen er vanskelig, du må legge til de dristige linjene og endre den understreket.
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øk nå etter const-string / jumbo v4, stille og legg til disse linjene over den. De to dristige linjene må samsvare.
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"
Deretter må vi legge til en manglende del av Android 7 services.jar, så vi skal legge til den for denne moden til arbeid.
Finn linjen for .metode privat addCustomDialogItems (Landroid / grafikk / drawable / BitmapDrawable; Ljava / lang / String; Landroid / content / Intent; ILjava / util / ArrayList;) Z
Og legg til denne fremgangsmåten 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, nå kompilere services.jar, og du kan trykke både de rekompilerte rammene-res.apk og services.jar tilbake på telefonen, enten med adb push- kommandoen eller med APK Easy Tool Install to Phone-knappen.
Hvis du får oppstartsløyfen når du trykker på telefonen, starter du inn i tilpasset gjenoppretting og tørker Dalvik + Cache.
PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her