Cara Menambah Tombol Pemulihan Reboot ke Galaxy S7 Edge Power Menu

Banyak pengguna Android berharap ada cara yang lebih sederhana untuk melakukan reboot ke mode Recovery, tanpa perlu mematikan perangkat mereka terlebih dahulu. Panduan ini untuk Samsung Galaxy S7 Edge akan membantu Anda menambahkan tombol Pemulihan Reboot ke menu Power dari dalam sistem Android.

Kami akan bekerja dalam file framework-res.apk dan services.jar dari ROM stok, jadi jika Anda menggunakan ROM khusus, panduan ini tidak ditujukan untuk Anda. Saya telah menyediakan tautan untuk mengunduh file kerangka kerja-res.apk dan services.jar file di bawah ini.

Persyaratan:

  • Alat Mudah APK
  • S7 Edge Framework .zip
  • S7 Edge Services jar .zip
  • ADB - lihat Cara Menginstal ADB di Windows
  1. Hal pertama yang harus Anda lakukan adalah mengunduh dan mengekstrak file zip di atas ke desktop Anda.
  2. Unduh juga APK Alat Mudah.
  3. Sekarang aktifkan USB Debugging pada Galaxy S7 Anda dengan pergi ke Pengaturan> Tentang> ketuk 'Build Number' 7 kali, sampai Mode Pengembang diaktifkan. Sekarang, masuk ke Pengaturan> Opsi Pengembang> aktifkan USB Debugging.
  4. Hubungkan Galaxy S7 Anda ke PC melalui USB, dan tahan Shift + Klik kanan di dalam folder ADB utama Anda, dan pilih Buka jendela perintah di sini.
  5. Sekarang pastikan ADB mengenali perangkat Anda dengan mengetik ' perangkat adb ' tanpa tanda kutip. Jika berhasil, terminal perintah harus menampilkan nomor seri perangkat Anda.
  6. Sekarang ketik perintah berikut ke jendela ADB:

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

Ubah ke folder pilihan Anda.

  1. Sekarang buka APK Alat Mudah, dan pilih Pilih di samping file APK untuk dikerjakan . Pilih framework-res.apk yang Anda tarik dari Galaxy S7 Anda. Sekarang klik tombol Decompile.

  1. Sekarang masuk ke direktori file .APK yang telah dikompilasi, dan tempel file dari file .zip kerangka kerja yang saya sediakan ke dalam folder dekompilasi dari framework-res.apk Anda.
  2. Sekarang menggunakan editor teks, saya sangat merekomendasikan sesuatu seperti Notepad ++ yang dapat mengatur kode XML, buka res / values ​​/ arrays.xml
  3. Sekarang di sinilah kita akan menjadi sangat teknis. Anda perlu menambahkan semua garis yang saya tampilkan dalam huruf tebal di snip kode berikut.
  4. Temukan dan tambahkan apa yang telah saya cetak tebal.

kekuasaan
datamode
pesawat terbang
mengulang kembali
kuncian
laporan bug
pengguna
reboot pemulihan
Modus darurat
subscreen
screenrec

  • Sekarang, masuk ke res / values ​​/ strings.xml dan tambahkan bold .

Pengisian perangkat yang terhubung melalui USB
10, 32, 768, 10, 60
Reboot Pemulihan

  • Oke, kita sudah selesai dengan framework-res.apk. Anda sekarang dapat mengkompilasi ulang dalam Alat Mudah APK.
  • Sekarang kita akan bekerja pada Services.jar, sehingga mendekompilasi Services.jar dengan APK Easy Tool, dan salin file dari file jar Layanan .zip yang saya berikan di atas ke dalam folder Services.jar yang baru saja dikompilasi.
  • Sekarang menggunakan editor teks, buka smali / com / android / server / policy / GlobalActions.smali, dan lagi Anda akan menambahkan garis tebal di bidang # contoh

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

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini
  • Sekarang temukan .method 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 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" 
  • Bagian selanjutnya adalah rumit, Anda perlu menambahkan garis tebal dan memodifikasi garis yang digarisbawahi.
 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 
  • Sekarang cari const-string / jumbo v4, diam dan tambahkan garis-garis di atasnya. Dua garis tebal harus sesuai.
 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" 

Selanjutnya kita perlu menambahkan bagian yang hilang dari layanan Android.jar, jadi kita akan menambahkannya kembali untuk mod ini berfungsi.
Temukan baris untuk .method private addCustomDialogItems (Landroid / graphics / drawable / BitmapDrawable; Ljava / lang / String; Landroid / konten / Intent; ILjava / util / ArrayList;) Z

Dan tambahkan metode di atas ini:

 .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 

Itu saja, sekarang mengkompilasi ulang services.jar, dan Anda dapat mendorong kedua rekompilasi framework-res.apk dan services.jar kembali ke ponsel Anda, baik dengan perintah push adb atau dengan APK Memudahkan Alat Instal ke tombol Telepon.

Jika Anda mendapatkan boot loop setelah mendorong ke ponsel, boot ke pemulihan kustom dan hapus Dalvik + Cache.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Facebook Twitter Google Plus Pinterest