Kā pievienot pogu Reboot Recovery Galaxy S7 Edge Power Menu

adb pull /system/framework/services.jar



Mainiet mapi pēc savas izvēles.

  1. Tagad atveriet APK Easy Tool un blakus “ APK fails, pie kura strādāt ”. Izvēlieties Framework-res.apk, kuru izvilka no sava Galaxy S7. Tagad noklikšķiniet uz pogas Dekompilēt.



  1. Tagad dodieties uz dekompilētā .APK faila direktoriju un ielīmējiet failus no manis norādītā framework-res .zip faila dekompilēta mape no jūsu ietvara-res.apk.
  2. Tagad, izmantojot teksta redaktoru, es patiešām iesaku kaut ko līdzīgu Notepad ++, kas var sakārtot XML kodu, atvērt res / values ​​/ arrays.xml
  3. Tagad šeit mēs iegūsim patiešām tehniskus risinājumus. Jums jāpievieno visas rindas, kurās es redzu treknrakstā šādos koda fragmentos.
  4. Atrodiet un pievienot ko es esmu treknrakstā.

jauda
datamode
lidmašīna
restartēt
blokāde
kļūdu ziņojums
lietotājiem
atsāknēšana
ārkārtas režīms
apakšekrāns
screenrec



  • Tagad dodieties uz res / values ​​/ strings.xml un pievienot treknrakstā .

Notiek pievienotās ierīces uzlāde, izmantojot USB…
10,32,768,10,60
Pārstartējiet atkopšanu



  • Labi, mēs esam pabeiguši ar framework-res.apk. Tagad to varat atkārtoti apkopot APK Easy Tool.
  • Tagad mēs strādāsim pie Services.jar, tāpēc dekompilējiet Services.jar ar APK Easy Tool un kopējiet failus no iepriekš norādītā Services jar .zip faila nesen dekompilētajā Services.jar mapē.
  • Tagad, izmantojot teksta redaktoru, atveriet smali / com / android / server / policy / GlobalActions.smali, un atkal jūs pievienosiet treknrakstā rindiņu laukos # instance

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

  • Tagad atrodiet .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 pārvietošanas objekts / from16 v0, p0 iput-object v5, v0, Lcom / android / server / policy / GlobalActions; -> mRestart: Lcom / android / server / policy / GlobalActions $ SinglePressAction; jauna instance v4, Lcom / android / server / policy / GlobalActions 47 ASV dolāri; pārvietot objektu / no16 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;) Es pārvietoju rezultātu v5 pārvietot objektu / no16 v0, p0 iget-objektu 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;) Es pārvietoju rezultātu v6 pārvietot objektu / no16 v0, p0 invoke-direct {v4, v0, v5, v6}, Lcom / android / server / policy / GlobalActions $ 47; -> (Lcom / android / server / policy / GlobalActions; II) V pārvietošanās objekts / 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'
  • Nākamā daļa ir grūts, jums tas ir nepieciešams pievienojiet treknraksta līnijas un modificēt pasvītroto.
const / 16 v6, 0x80 const / 4 v7, 0x1 pārvietot objektu / 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 pārvietošanas objekts / 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
  • Tagad meklējiet const-string / jumbo v4 , “Kluss” un pievienojiet šīs rindiņas virs tā. Divām treknrakstā norādītajām līnijām jāsakrīt.
const-string / jumbo v4, 'emergencymode' invoke-virtual {v4, v11}, Ljava / lang / String; -> vienāds ar (Ljava / lang / Object;) Z pārvietošanās rezultāts v4 if-eqz v4,: cond_15 pārvietot- 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; -> pievienot (Ljava / lang / Object;) Z goto / 16: goto_7 : cond_15 const-string / jumbo v4, 'rebootrecovery' invoke-virtual {v4, v11}, Ljava / lang / String; -> vienāds ar (Ljava / lang / Object;) Z pārvietošanās rezultāts 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; -> pievienot (Ljava / lang / Object;) Z goto / 16: goto_7 : cond_asc1 const-string / jumbo v4, “kluss”

Tālāk mums jāpievieno trūkstošā Android 7 services.jar daļa, tāpēc mēs to atkārtoti pievienosim, lai šis mods darbotos.
Atrodiet līniju .method private addCustomDialogItems (Landroid / graphics / drawable / BitmapDrawable; Ljava / lang / String; Landroid / content / Intent; ILjava / util / ArrayList;) Z

Un pievienojiet šo iepriekš minēto metodi:



.metodiskā statiskā sintētiskā piekļuve 500 USD (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 metode

Tas ir viss, tagad pārkompilējiet pakalpojumus.jar, un jūs varat nospiest gan pārkompilēto framework-res.apk, gan services.jar atpakaļ uz tālruni vai nu ar adb push komandu vai ar APK Easy Tool pogu “Instalēt tālrunī”.

Ja pēc nospiešanas uz tālruni tiek parādīts sāknēšanas cilpa, palaidiet pielāgotu atkopšanu un noslaukiet Dalvik + kešatmiņa.

3 minūtes lasīts