Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Install from /sdcard1 seçeneği dosyaları sırasıyla (1, 2, 3 ve 4) yükleyin.
İşlemler tamamlanınca cihazınızı “Reboot system now” seçeneği ile tekrar başlatın.
Cihazınız kısa bir sürede açılacaktır.
Not: GT-I9195 modelini kullanıyorsanız roma ait .zip dosyasında Meta-Inf -> Com -> Google -> Android içerisindeki Updater Script klasörünü silin ve buradan indirdiğinizi ekleyin.
MIUI Patchrom düzenleme işlemlerini gerçekleştirirken hatalarla karşılaşabilirsiniz. Bu hataları nasıl çözebileceğinizi anlatıyoruz. Burada anlattığımız işlemleri gerçekleştirirken karşınıza hatalar çıkabilir. Şimdi bu hataları anlayıp çözmeye çalışmanın zamanı geldi. Hatalar
Patchrom bir yamayı yapamadığı zaman hangi dosyanın yaması uygulanamadıysa o dosyanın uygulanamayan yamasını göstermek için /klasörismi/cihazismi/temp/ klasöründe oluşturur. Örnek olarak eğer services.jar dosyasında bir yama uygulanamadıysaklasörismi/cihazismi/temp/services.jar.out klasöründe bulunabilir.
Örnek olarak, “reject” dosyası “klasörismi/cihazismi/temp/reject/android.policy.jar.out/smali/com/android/internal/policy/impl” klasöründe bulunuyorsa orijinal dosya “patchrom/device/android.policy.jar.out/smali/com/android/internal/policy/impl” bu klasörde bulunacaktır.
Yama Bilgilerinin Anlaşılması
Şimdi bulunan bilgilerinizle reject ve orijinal dosyaların yerlerini açın, reject dosyası aşağıdaki gibi görünecektir:
*** PhoneWindowManager.smali 2015-09-09 11:46:13.541852561 -0300
--- PhoneWindowManager.smali 2015-09-09 11:47:07.349851413 -0300
***************
*** 393,404 ****
.field private mPowerKeyTriggered:Z
! .field private final mPowerLongPress:Ljava/lang/Runnable;
+ .field private final mQuickBootLock:Ljava/lang/Object;
+
.field mRecentAppsDialog:Lcom/android/internal/policy/impl/RecentApplicationsDialog;
.field mRecentAppsDialogHeldModifiers:ISonraki adım sembolleri ve bu sembollerin anlamlarını anlamak:
***XX,XX***: Bu semboller bize yamanın kodları hangi satırlarda beklediğini gösteriyor, bizim durumumuzda bu 393 ve 404 numaralı satırlar arası olacaktır.
—XX,XX–: Bu semboller bize kodların yamadan sonra hangi satırlarda beklendiğini gösteriyor, bizim durumumuzda bu 395 ve 408 numaralı satırlar arası olacaktır.
Ama bu satırlar çok fazla birşey ifade etmiyor daha önemli olan şey bu sembolleri anlamak:
asteriks’in altında bulunan satırlar (***) bu kodların yamadan önce göründüğü
hypens’in altında bulunan satırlar (—-) bu kodların yamadan sonra nasıl görüneceğini gösteriyor
reject alıyoruz çünkü yama kodların beklendiği satırları bulamıyor ve buda yamanın başarısız olmasının asıl nedeniVe şimdi yapmamız gereken bu kodları kendimiz düzenlememiz. Bunu yapabilmemiz için ise bu sembollerin anlamlarını anlamamız gerekiyor:
+ sembolü satırın yama tarafından eklendiğini gösterir
– sembolü satırın yama tarafından kaldırıldığını gösterir
! sembolü satırın yama tarafından değiştirildiğini gösterir
Bu kadar bilgi yeterli olacaktır, hadi şimdi rejectleri düzeltelim Yamaların Düzeltilmesi
Biz şimdi bir örnek vereceğiz ve bunu düzelteceğiz. Sizde bizim uyguladığımız gibi kendi hatalarınızda bu yöntemi uygulayabilirsiniz. İlk olarak reject dosyalarına bakma zamanı
*** 393,404 ****
.field private mPowerKeyTriggered:Z
! .field private final mPowerLongPress:Ljava/lang/Runnable;
.field mRecentAppsDialogHeldModifiers:IŞimdide bu satırlar için orijinal dosyaya bakma zamanı. Ama aklınızda bulunsun bu satırlar biraz farklı olabilir, ama bizim kanımızca bunlar doğru satırlar:
.field private mPowerKeyTriggered:Z
.field private final mPowerLongPress:Ljava/lang/Runnable;
.field mPowerManager:Landroid/os/PowerManager;
.field mPreloadedRecentApps:Z
.field private mPressOnAppSwitchBehavior:I
.field private mPressOnAssistBehavior:I
.field private mPressOnMenuBehavior:I
.field private final mQuickBootLock:Ljava/lang/Object;
.field private final mQuickBootPowerLongPress:Ljava/lang/Runnable;GÖrdüğünüz üzere farklı sıradalar, ve bazıları görüntülenmemiş. Şimdide yamadan sonra olması gerekilen kısma odaklanalım:
--- 395,408 ----
+ .field private final mQuickBootLock:Ljava/lang/Object;
+
.field mRecentAppsDialog:Lcom/android/internal/policy/impl/RecentApplicationsDialog;
.field mRecentAppsDialogHeldModifiers:IBu bize bu satırı değiştirip
field private final mPowerLongPress:Ljava/lang/Runnable;Bu satır yapmamız gerktiğini anlatıyor:
.field private mPowerLongPress:Ljava/lang/Runnable;Ek olarak bu satırıda eklememiz gerekiyor:
.field private final mQuickBootLock:Ljava/lang/Object;Manuel olarak yamalamadan sonra dosya bu şekilde görünecektir:
field private mPowerKeyTriggered:Z
.field private final mQuickBootLock:Ljava/lang/Object;
.field private final mQuickBootPowerLongPress:Ljava/lang/Runnable;Bu şekilde görünecektir. Son olarak değişikliklerinizi kayıt edin ve bir sonraki reject dosyasına geçin.