Galaxy S7 Edge Power Menüsüne Nasıl Yeniden Başlatma Kurtarma Ekleme Düğmesi Eklenir

Birçok Android kullanıcısı, cihazlarını ilk önce kapatmaya gerek kalmadan Kurtarma moduna yeniden başlamanın daha basit bir yolunu diledi. Samsung Galaxy S7 Edge için bu kılavuz, Android sisteminin içinden Güç menüsüne bir Reboot Kurtarma düğmesi eklemenize yardımcı olacaktır.

ROM'un framework-res.apk ve services.jar dosyalarında çalışacağız, bu yüzden özel bir ROM üzerindeyseniz, bu kılavuz sizin için tasarlanmamıştır. Aşağıda stock framework-res.apk ve services.jar dosyalarını indirebilmek için bağlantılar verdim.

Gereksinimler:

  • APK Kolay Aracı
  • S7 Kenar Çerçeve .zip
  • S7 Kenar Servisleri jar .zip
  • ADB - Windows'ta ADB Nasıl Kurulur
  1. Yani yapmanız gereken ilk şey, yukarıdaki .zip dosyalarını masaüstünüze indirip çıkarmaktır.
  2. Ayrıca APK Kolay Aracı'nı indirin.
  3. Şimdi, Galaxy S7'nizde USB Hata Ayıklama özelliğini etkinleştirerek, Geliştirici Modu etkinleştirilinceye kadar Ayarlar> Hakkında'ya gidin ve 'Yapı Numarası'na dokunun. Şimdi Ayarlar> Geliştirici Seçenekleri> USB Hata Ayıklama'yı etkinleştirin.
  4. Galaxy S7'nizi PC'nize USB üzerinden bağlayın ve ana ADB klasörünüzde Shift + Sağ tuşa basılı tutun ve burada bir komut penceresi aç'ı seçin.
  5. Artık, ADB'nin, tırnak işaretleri olmadan " adb cihazları " yazarak cihazınızı tanıdığından emin olun. Başarılı olursa, komut terminali cihazınızın seri numarasını göstermelidir.
  6. Şimdi ADB penceresine aşağıdaki komutları yazın:

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

Seçtiğiniz bir klasöre değiştirin.

  1. Şimdi APK Kolay Aracı'nı açın ve üzerinde çalışılacak APK dosyasının yanındaki Seç'i seçin. Galaxy S7'nizden çektiğiniz framework-res.apk dosyasını seçin. Şimdi Decompile düğmesine tıklayın.

  1. Şimdi decompiled .APK dosyasının dizinine gidin ve framework-res.apk'ınızın decompiled klasörüne sağladığım framework-res .zip dosyasından dosyaları yapıştırın.
  2. Şimdi bir metin düzenleyicisi kullanarak, gerçekten XML kodunu düzenleyebilen Notepad ++ gibi bir şey tavsiye ederim, res / values ​​/ arrays.xml dosyasını açın.
  3. Şimdi burada gerçekten teknik olacağız. Ekrana gelen tüm satırları, aşağıdaki kod satırlarında kalın harflerle eklemelisiniz.
  4. Kalınlaştığım yeri bulun ve ekleyin .

güç
datamode
uçak
tekrar başlat
kilitlenme
hata raporu
kullanıcılar
rebootrecovery
Acil modu
alt ekran
screenrec

  • Şimdi res / values ​​/ strings.xml adresine gidin ve kalın harfleri ekleyin .

USB üzerinden bağlı cihazı şarj etme
10, 32, 768, 10, 60
Yeniden Başlatma Kurtarma

  • Tamam, framework-res.apk ile işimiz bitti. Artık APK Easy Tool'da yeniden derleyebilirsiniz.
  • Şimdi Services.jar üzerinde çalışacağız, bu yüzden Service.jar'ı APK Easy Tool ile derleyin ve dosyaları yeni decompiled Services.jar klasörüne yerleştirdiğim Services jar .zip dosyasından kopyalayın.
  • Şimdi bir metin düzenleyicisi kullanarak, smali / com / android / server / policy / GlobalActions.smali dosyasını açın ve tekrar # örnek alanlarına kalın satır ekleyeceksiniz.

.field mEmergencyStringId: I
.field özel mRebootRecovery: Lcom / android / sunucu / politika / GlobalActions $ SinglePressAction;

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.
  • Şimdi .method özel createDialog () bulmak Lcom / android / sunucu / politika / 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" 
  • Bir sonraki bölüm zor, kalın çizgileri eklemeniz ve altı çizili değiştirmeniz gerekiyor.
 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 
  • Şimdi const-string / jumbo v4'ü arayın, sessiz olun ve bu satırları üstüne ekleyin. İki kalın çizgi eşleşmelidir.
 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" 

Daha sonra, Android 7 services.jar'ın eksik bir kısmını eklememiz gerekiyor. Bu nedenle, bu modun yeniden çalışması için onu ekleyeceğiz.
.method private addCustomDialogItems için satırı bulun (Landroid / graphics / drawable / BitmapDrawable; Ljava / lang / String; Landroid / content / Intent; ILjava / util / ArrayList;) Z

Ve yukarıdaki bu yöntemi ekleyin:

 .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 

İşte bu, şimdi services.jar yeniden derleyin ve sen-si olmak ad- itme komutu ile ya da Telefon düğmesine APK Kolay Aracı Yükleme ile, hem yeniden derlenmiş framework-res.apk ve services.jar telefona geri itebilirsiniz .

Telefona bastıktan sonra önyükleme döngüsünü alırsanız, özel kurtarmaya önyükleme yapın ve Dalvik + Cache'i silin .

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Facebook Twitter Google Plus Pinterest