Kuidas lisada taaskäivitamise taastenuppu Galaxy S7 Edge toitenuppu

adb pull /system/framework/services.jar



Muutke valitud kaust.

  1. Nüüd avage APK Easy Tool ja valige valiku kõrval APK-fail töötamiseks ”. Valige oma Galaxy S7-st tõmmatud raam-res.apk. Nüüd klõpsake nuppu Decompile.



  1. Nüüd minge dekompileeritud .APK-faili kataloogi ja kleepige failid minu antud raamistiku res .zip-failist dekompileeritud kaust teie raamistiku-res.apk lehelt.
  2. Kasutades nüüd tekstiredaktorit, soovitan tõesti midagi sellist nagu Notepad ++, mis suudab korraldada XML-koodi, avada res / values ​​/ arrays.xml
  3. Nüüd on siin koht, kus me saame tõesti tehnilised. Peate lisama kõik read, milles ma kuvan julge järgmistes koodilõikudes.
  4. Leidke ja lisama mis mul on paksult.

võim
datamode
lennuk
Taaskäivita
täielik sulgemine
veateade
kasutajad
taaskäivitamine
hädaolukord
alamekraan
screenrec



  • Nüüd minge res / values ​​/ strings.xml ja lisama julge .

Ühendatud seadme laadimine USB kaudu ...
10,32,768,10,60
Taaskäivitage taastamine



  • Okei, raamistik-res.apk on tehtud. Nüüd saate selle APK Easy Toolis uuesti kompileerida.
  • Nüüd töötame teenusega Services.jar, nii et dekompileerige Services.jar APK Easy Tooliga ja kopeerige failid ülaltoodud teenuse jar .zip failist äsja dekompileeritud kausta Services.jar.
  • Avage nüüd tekstiredaktori abil smali / com / android / server / policy / GlobalActions.smali ja jälle lisate paksult rida # eksemplari väljadel

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

  • Nüüd leidke .metode private 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 liikumisobjekt / from16 v0, p0 iput-object v5, v0, Lcom / android / server / policy / GlobalActions; -> mRestart: Lcom / android / server / policy / GlobalActions $ SinglePressAction; uue eksemplari v4, Lcom / android / server / policy / GlobalActions 47 dollarit; 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;) Liigutan tulemust 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;) Liigutan tulemust 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 liikumisobjekt / 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'
  • Järgmine osa on keeruline, peate seda tegema lisage paksud read ja muutke allajoonitud.
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 oli 0x100 const / 4 v7, 0x1 liikumisobjekt / 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
  • Nüüd otsige const-string / jumbo v4 , 'Vaikne' ja lisage need read selle kohale. Kaks rasvases reas peavad vastama.
const-string / jumbo v4, 'emergencymode' invoke-virtual {v4, v11}, Ljava / lang / String; -> võrdub (Ljava / lang / Object;) Z liikumistulemusega v4 if-eqz v4,: cond_15 move- objekt / 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; -> võrdub (Ljava / lang / Object;) Z liikumistulemusega 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, 'vaikne'

Järgmisena peame lisama puuduva osa Android 7 services.jarist, nii et lisame selle uuesti, et see mod töötaks.
Leidke rida .method private addCustomDialogItems (Landroid / graphics / drawable / BitmapDrawable; Ljava / lang / String; Landroid / content / Intent; ILjava / util / ArrayList;) Z

Ja lisage see ülaltoodud meetod:



.metoodiline staatiline sünteetiline juurdepääs 500 dollarit (Lcom / android / server / policy / GlobalActions;) Landroid / content / Context; .locals 1 iget-object v0, p0, Lcom / android / server / policy / GlobalActions; -> mContext: Landroid / content / Context; meetod return-object v0 .end

See on kõik, nüüd kompileerige teenused.jar ja saate nii kompileeritud raamistiku-res.apk kui ka teenused.jar oma telefoni tagasi lükata, kasutades adb push käsuga või APK Easy Tool'i nupuga „Installimine telefoni”.

Kui pärast telefoni vajutamist saate käivitussilmu, käivitage kohandatud taastamine ja pühkige Dalvik + vahemälu.

3 minutit loetud