Multitools v9.7
v9.7 ile gelen yenilikler
-apktool.jar güncellendi
-sistem kaynakları güncellendi
GEREKLİ PROGRAMLAR:
İlk önce bilgisayarda multitools programının çalışması için sisteminizde Basit işlemler için Java gelişmiş işlemler için Java Runtime Kit yüklü olması gerekir. Xml düzenlemek içinde Metin Editorü (Notepad++) indirmeniz gerekir.
----------------------------------------------------------------------------------------------------------------
NORMAL APK DÜZENLEME
Düzenlemek istediğiniz apkyı Multitools klasörü içindeki place-apk-here-for-modding klasörü içine atın.
Dikkat: Apk isminde boşluk, özel karakterler ve türkçe karakterler kullanmayın. Eğer kullanırsanız Multitools açılışında atma veya kapanma ve apk ayıklanamama gibi hatalarverebilir. O yüzden kısa ve basit isimler verin.
Türkçe karakterler: ğ ü ş ı ö ç Ğ Ü Ş İ Ö Ç
Örnek: ROM Manager (Premium) v5.5.2.8.apk yerine rom.apk veya rommanager.apk gibi kısa isimler verin.
Multitools klasörü içindeki Multitools.bat dosyasını yönetici olarak ( sadece win8 ve win8.1 için) çalıştırın.
Eğer place-apk-here-for-modding klasöründe bir tane apk varsa multitools bunu varsayılan düzenlenecek apk olarak seçecektir. Üst barda seçili uygulama yazmaktadır.
Eğer iki tane ve daha fazla apk varsa seçili uygulama ... gözükecektir. Düzenlemek istediğiniz apkyı seçmek için 19 yazıp enter e basın çıkan ekranda düzenlemek istediğiniz apk'nın sıra numarasını yazıp enterleyin.
Multitools içine varsayılan olarak ayıklama modunu sadece resoruces.arsc ayarladım. Çünkü dil dosyaları resoruces.arsc içindedir. İsteyen olursa ayıklama modunu 20 ile değiştirip uygulama kodlarınıda açıp düzenleyebilir.
Ayıklama modları
1- resources.arsc - classes.dex - raw (Hepsi)
2- sadece resources.arsc (Dil ve arayüz)
3- sadece classes.dex (Kodlaması)
4- sadece raw (medya dosyaları)
Not: En baştan uyarmak isterim boşuna düzenleme ile uğraşmamanız için apk dosyasını daha düzenleme işlemine başlamadan önce bir kere 9 ile ayıklayıp 15 ile toplayın. Bu işlemlerin birinde hata almıyorsanız 9 ile tekrar ayıklayıp düzenlemeye başlayın. Eğer hata alıyorsanız bu konuya yazın çözümünü hep beraber bulalım.
Apk seçme işlemini ve istiyorsanız ayıklama modunu ayarladıktan sonra ekranda da gördüğünüz gibi 9 ile apkyı ayıklıyoruz. Bu işlem apk içindeki ayıklama modunda ayarlanmış olan dosyayı ve res içindeki xml dosyalarını ayıklar. Şimdilik uygulamayı kapatabilir veya simge durumuna küçültebilirsiniz. Ayıkladığımız apk dosyaları mutlitools klasörü içindeki projects klasörü içinde ayıklanan apk ile aynı isimli klasör içindedir.
Not: Örnek uygulamamızda olduğu gibi rom.apk isminde bir klasör oluşur ve tüm düzenleme işlemlerimiz bu klasör içinde yapılacaktır.
Dil klasörleri uygulama klasörü içindeki res klasörü içindeki values ile başlayan klasörlerdir. values klasörü varsayılan ana dil klasörüdür. Neden ana klasör olduğunu sonra açıklayacağım. Dil dosyaları ise values klasörlerinin içindeki strings.xml ve arrays.xml purrals.xml dosyalarıdır. Büyük çoğunluğu strings.xml dir. arrays.xml ve purrals.xml de genelde liste öğeleri bulunur. Uygulama içinde Türkçe dil varsa values-tr klasörü olması gerekir. Eğer yok ise biz kendimiz values-tr isminde yeni bir klasör oluşturup İngilizce dil klasörü içinden yani values klasörü içinden strings.xml ve varsa arrays.xml dosyalarını kopyalayıp values-tr klasörü içine yapıştırıyoruz. Böylece ingilizce dilini taban alarak türkçeleştirme işlemine başlayacağız. Arzu eden varsa values-zh klasörü içindeki Çinçe dil dosyalarını taban alıp türkçeleştirme yapabilir.
Values içindeki bazı xmller:
Strings.xml: Dil dosyası
Arrays.xml: Liste öğeleri
Color.xml: Renk kodları
Style.xml: Görünüm kodları
Şimdi Notepad++ gibi bir metin düzenleyici programı kurup xml dosyalarını bununla açıyoruz. Xml dosyasına sağ tıklayıp özelliklerden varsayılan program olarak notepad++ atarsınız sizin için daha kolaylık olur. Xml dosyasını açıp xml düzenlemeye başlamadan önce kodlamanın UTF-8 (BOMsuz) olduğundan emin olun. Hatta Notepad++ içinde varsayılan kodlamayı UTF-8 (BOMsuz) atayın. Yoksa ASCI de yazdığınız kelimeleri UTF-8 yapınca tek tek türkçe karakterleri düzenlemek zorunda kalabilirsiniz.
Düzenlenecek metinler resimde görüldüğü gibi siyah renkli yazılardır. Kodlama işaretlerine çok dikkat edin < veya > işaretinin yanlışlıkla silinmesi hataya neden olacaktır.
Örnek satır kodu:
Orjinal: <string name="check_updates">Update ROM</string>
Türkçe: <string name="check_updates">ROM Güncelle</string>
Düzenleme işlemi bittikten sonra değişiklikleri kaydediyoruz.
Eğer programı kapatmışsanız Multitools.bat dosyasını tekrar açın ve eğer iki apk dosyası varsa proje seçme işlemini tekrar yapın. Çünkü multitools yapısı gereği açıldıktan sonra yaptığınız ayarlamaları açık olduğu sürece olarak tutar. Her kapanıp açıldığında varsayılan ayarlar ile başlar. O yüzden apk ayıklama modunu değiştirmişseniz o modu 20 ile tekrar ayarlayın.
11 ile Apkyı topluyoruz veya 15 ile aynı andan hem toplayıp hem de test key ile imzalayabilirsiniz.
11 ile topladıktan sonra 12 ile testkey imzası ile imzalıyoruz.
Oluşturulan imzalı ve imzasız apklar multitools klasörü içinde place-apk-here-for-signing klasörü içindedir. İmzalı olanın isminin başında signed yazılıdır. imzasız olanında unsigned yazılıdır. Apkyı imzaladığınızda unsigned olanı otomatik silinecektir. Signed olanı telefonunuza veya tabletinize atıp kurabilirsiniz.
Test key 12 ile imzalamanın kötü yanı korkmayın uygulama kurulucak sorun yok ama orjinal olanın üzerine kuramayacaksınız ve bu apk yüklü olduğu sürece mağazadan veya elle orjinal apk ya güncelleme yapamayacaksınız. Çünkü düzenlenen apk orijinalinden farklı bir imzaya sahiptir. O yüzden önce sisteminizde kurulu olan orijinal uygulamayı kaldırın ve sonra düzenlediğiniz apkyı kurun veya yeni üst sürüme geçerken düzenlediğiniz apk yı kaldırın ve mağazadan veya elle orjinal apk yı kurun. Ama daha önce multitools ile imzaladığınız apk kurulu ise yeni düzenlediğiniz apk yı direk üstüne kurabilirsiniz. Çünkü iki apk da aynı test key imzasına sahiptir. Kısacası aynı imza ile sürüm yükseltme ve düşürme yapabilirsiniz.
Mağaza imzası 13 ile imzalamak için yapmanız gerekenler resimde gösterilen ayarı yapmanız ve Java JDK (normal java değil) kurmalısınız. Mağaza imzası ile apk imzaladım bazı cihazlarda (4.1.1) apk kurulmadı bazılarında (cm 4.3.1) kuruldu. Ve imzanın özelliğini tam anlamış ve çözmüş değilim. O yüzden sizde deneyebilirsiniz. Ama sorun istemiyorsanız 12 test key kullanmanızı tavsiye ederim.
projects klasörü içinde apk klasörü hala duruyor. Bu klasör içindeki xxx.apk klasörünü silebilirsiniz veya daha sonra kullanmak istiyorsanız apk klasörünü istediğiniz yerde saklayabilirsiniz. Size tavsiyem klasörü saklamanız yerine sadece düzenlediğiniz xml dosyalarını saklamanızdır.
----------------------------------------------------------------------------------------------------------------
SİSTEM APK DÜZENLEME
Buraya kadar normal apklarının düzenlemesini ayıklamasını toplamasını ve imzalamasını anlattım.
Sistem apklarınıda (yani rom.zip içindeki veya cihazındaki system/apps içindeki apklar) düzenlemek için normal uygulamalardaki gibi aynı düzenleme işlemlerini yapıyoruz. Ancak ayıklama ve toplama işlemleri normal apklardan farklıdır.
Sistem apkları üretici firmalar tarafından standart android kaynaklarına ek kaynaklar ekleyerek oluşturulurlar. Bu ek kaynaklar üreticiden üreticiye ayrı ayrı farklılık gösterdiği için bir sistem apksını ayıklamak için üreticinin kendi kaynakları kullanılmalıdır. Bu ek kaynaklar olmadan standart android kaynakları yetersiz kalacak ve bir sistem apksını standar android kaynakları ayıklayamayacaktır. Korkmayın! İki saat google amcada siteminiz için kaynak araştırmaları yapmayacaksınız. Çünkü bu kaynaklar sizin telefonunuzda veya rom dosyasınızda zaten mevcut.
Bu kaynakların biri system/framework içinde framework-res.apk dır diğeri de aynı dizindedir. Üreticiden üreticiye göre farklı adlandırılıdığı için xxxframework-res.apk dır deyip geçeyim. Bu iki kaynak apksını masaüstünüze kopyalayın.
Şimdi önce düzenlemek istediğiniz sistem apksını bu mesajlar uygulaması ayarlar uygulaması olabilir bunları normal uygulamalarda olduğu gibi place-apk-here-for-modding klasörüne atın. Multitool.bat uygulamasını çalıştırın. Eğer iki veya daha fazla sistem apksı modding klasörüne atmışsanız apk seçme işlemini gerçekleştirin.
Şimdi 8 ile sistem apksı ayıklama seçimini yapın. Şimdi multitools sizden telefonun kaynaklarını isteyecek ilk önce masaüstündeki rom veya sistemden çıkardığınız kaynaklardan framework-res.apk yı tutup multitools penceresine sürükleyip bırakın ve enterleyin sonra sizden bu seferde üreticiye ait kaynak dosyasını yani xxxframework-res.apk sını isteyecektir onuda tutup multitools penceresine sürükleyip bırakın ve entere basın. Ve ayıklama işlemi başlayacaktır. Ayıklama işlemi bittikten sonra normal uygulamalarda olduğu gibi düzenlememizi yapıyoruz. Düzenleme işlemleriniz bittikten sonra 10 ile sistem apksını topluyoruz.
Not: Sistem kaynaklarını multitoolsa tanıttıktan sonra eğer aynı romun başka bir sistem apksı düzenleyecekseniz tekrar 8 ile ayıklama işlemi yapabilirsiniz bu sefer sizden kaynak istemeyecektir. çünkü kaynaklarınız zaten multitoolsa tanıttınız. Multitoolsu kapattığınızda en son sistem dosyası düzenlediğiniz ve kaynaklarınız hala durduğu için multtitool açılışta size hala sistem apksı düzenlemeye devam etmek istiyor musunuz diye soracak e vet derseniz sistem kaynaklarını olduğu gibi kalacaktır h ayır derseniz normal uygulamalar için standart android kaynağı atanacaktır. Sonra tekrar sistem apksı düzenlemek isterseniz 8 ile sistem kaynaklarını tanıtmanız gerekir. veya 23 ile ordaki seçeneklerden 0 ile elle kaynak ataması yapabilirsiniz. Bu kaynakların atandığı klasör C:\Kullanıcılar\Kullanıcı adı\apktool\framework klasördür burda sadece 1.apk varsa normal kaynak var demektir eğer 1.apk ve 2.apk varsa sistem kaynakları var demektir.
Düzenlenip toplanmış sistem apknız modified-system-apk-files-here klasöründedir. İsminin başında systemörnek.apk vardır. Bu başındaki system kısmını silip rom.zip dosyasına veya direk rootlu cihazınızda root gezgini özelliğine sahip bir dosya yönetici ile system/app içine atabilirsiniz. Zaten aynı isimde oldukları için karşınıza değişim sorusu gelecektir evet deyin ve aktif olması için telefonu kapatıp açın veya uygulama güncelleniyor deyip kendiliğinden kapanıp açılır.
http://i.hizliresim.com/L3nkoz.jpg
Dikkat: Hatalı düzenlemeden kaçının zira sistem apksı düzenliyorsunuz. Cihazınız açılmayabilir. Özellikle systemui gibi arayüz uygulamasının hatalı olması cihazınızın açılması ama arayüzünün gelmemesi gibi sorunla karşılaşabilirsiniz. Bununda tek çaresi tekrar rom yüklemektir. Format factory wipe gibi fabrika ayarlarına alma işlemleri ne yazık ki sorununuzu çözmeyecektir. Tek çare rom yüklemek.
----------------------------------------------------------------------------------------------------------------
HATA AYIKLAMA
Toplama işleminde hata alıyorsanız hatayı es geçin. Ana menüye dönün ve programın size söylediği Hata kayıt günlükleri için 28 yazıp enterleyin. Veya daha iyi görünüm için Multitoolsiçindeki Kayitlar.log dosyasını notepad++ ile açın. En altta son kayıt son hatanız demektir. Ara sıra bu dosyasının içeriğini silin zamanla hatalar çoğalacağı için ortalık karışmasın. Genelde yeni eklediğiniz values-tr klasörü içindeki string.xml hatası alırsınız veya diğer xml hataları. Bunları düzenlemek basitçe mümkün. Türkçeleştirme işleminiz boşa gitmeyecek ve nerde hata var deyip saatlerce yüzlerce xml dosyalarında hata aramayacaksınız. Dediğim gibi kayıt günlüğüne bakarak hangi xml de ve o xml dosyasının hangi satırında hata var görüp basitçe düzenleyebilirsiniz.
Hata 1 - İşaret karakterleri
Üstte resimde gösterdiğim ' işareti yüzünden oluşan hatayı düzeltmek için ila bu ' işaretini silmek gerekmiyor. Bu işareti ve diğer işaretleri ve alt alta cümleler yazmak için satırın en başında > işaretinden sonra ve en sonuna < işaretinden önce " işareti koymak gerekir. Bu işaretin kodlama dilinde anlamı bu iki işaret arasındaki karakter ne olursa olsun kodlama işareti olarak algılanmaz direk kendisini gösterilir. Yukarıdaki hatanın sebebi bu ' işaretini kodlama işareti olarak algılamasıdır. Bu " işareti telefonunuzda gözükmeyecektir. Bu kodlama işaretidir. Alta doğru satırları örnekle gösterdim.
Örnek: <string name="map_notif_connected">"Bluetooth mesaj erişimi '%1$s'."</string>
Örnek2: <string name="bluetooth_ftp_acceptance_dialog_text">"%1$s dosya ve klasörlere erişmek istiyor.
Erişim izni verilsin mi %2$s?"</string>
Hata 2 - Png hatası
Bazı apk ayıklama işleminde pngler hatalı olabilir bu hatalı pngler apk toplama yaparken okunamama hatası yüzünden apk toplanmayabilir hatta bu okunamama hatası yüzünden diğer dosyalara da hatalara neden olabilir. Resimde de gösterdiğim gibi ilk satırda hata png hatası ve aşağı daha yüzlerce public hatası. Bu public hatalarının tek sebebi ilk satırdaki png hatasıdır. Bu png nin yolu ve adı zaten yazıyor. Bu png nin adını bir yere not edin ve png yi silin. Sonra buna benzer bir başka pngyi (bu klasöründen içinden alabilir veya kendiniz dışardan ekleyebilirsiniz) kopyalayın adınıda az önce sildiğiniz eski png nin adını verin. Şimdi apkyı hatasız toplayabilirsiniz.
Hata 3 - aapt hatası
Aslında bu bir hata değildir bu bir uyarıdır. Bu uyarıyı görmezden gelebilirsiniz. Toplamada sorun çıkartmaz. Bu uyarının amacı fazla dil satırlarını göstermesidir. Bunları silerek optimizasyon yapabilirsiniz. En sonunda hangi dillerde en başında hangi satırda olduğunu görebilirsiniz.
Hata 4 - apktool.yml oluşturulamama hatası
Bu 1.apk nın eksikliğinden kaynaklanan ayıklama hatasıdır. Bu hata toplamada sorunlara neden olacaktır. Xmller sorunsuz ayıklanmış olabilir ama apk toplama işleminde gerekli olan apktool.yml oluşturulamamış olabilir. Bunu kendimiz oluşturabiliriz. Başka bir uygulamayı ayıklayıp yml dosyanı alabilirsiniz ama özellikle ve öncelikle apknın eski sürümleri veya yazılımcının diğer apkları olursa hatayı onarma ihtimaliniz o kadar daha yüksek olur. Burada önemli nokta yazılımcının apk yı hangi sdk sürümü ile yazdığını bulmaktır ve diğer kısımlar basitçe doldurulabilir.
apkFileName: sizin place-apk-here-for-modding klasörü içinde apk nın ismidir
cur_package ve orig_package: AndroidManifest.xml içinde ilk satırda package yazan kısımdır. Bu isim apknın telefonunuza kurulduğunda data/app içinde sahip olacağı isimdir.
Hata 5 - AndroidManifest.xml
Bilgisayarı kapatıp biraz hava alın. Bu hatayı düzeltmek uygulamayı sıfırdan yazmak gibi birşeydir. Uyarı sadece 4. satırı işaret ediyor olabilir ama bu satırı düzeltseniz bile daha aşağıda olan bütün satırları daha sonra size tek tek hata olarak bildirecektir.
Resimde de gördüğünüz gibi kırmızı renkli kelimelerin çoğu eksiktir. = işaretinden önce hepsinde olmalı ama yok bunları doldurmak belki bu xml için kolay olabilir ama bu işlemi res klasörü içindeki tüm xml lere yapmanız gerektiğinizi söylesem olamaz derseniz. Ve aşağı yukarı uygulamadan uygulamayadeğişir 10 ile 1000 xml arasında olabilir her halde yapacağınız ilk iş bu apkyı pcnizden komple silmek olacaktır.
Hata 6 - Style hataları
Bu hatalar v9 ile düzeltildi ama v8 kullanıyorsanız ve v9 da karşılaşırsanız hata aldığınız style.xml belgesindeki satıra gidip parent="" kodunu girmelisiniz.
Örnek:
Hatalı kod satırı:
<style name="Widget.AppCompat.Base.ActionBar">
Düzeltilmiş kod satırı:
<style name="Widget.AppCompat.Base.ActionBar" parent="">
Hata 7 - Genel hatalar
Tekrar tekrar ediyorum hata aldığınızda Kayitlar.log içine baktığınızda ilk hatayı düzeltmeye çalışın ilk hata hangi xml içinde hangi satırda varsa o satırı düzeltip veya silip tekrar toplamayı deneyin. Çünkü ilk hata yüzünden başka yerlerde hata gösterme ihtimali çok yüksek o yüzden ilk hatayı düzeltiğinizde diğer hatalar otomatik düzelebilir. Bu xmllerin hepsi birbiriyle bağlantılıdır.
Hata 8 - Public hatası bu hata genelde diğer dilleri sildiğinizde gelir. Eğer diğer dilleri sildiyseniz ve bu hatayı aldıysanız o dile özel olarak yönlendirilmiş dil kodlarını da publicten silmelisiniz. Public içinden hata kayıtlarından hangi satıtlarda hata varsa o satırları silmelisiniz.-----------------------------------------------
ÖZET
Normal apklar için:
- 9 ile uygulamayı ayıklıyoruz
- Düzenleme işlemlerini yapıyoruz
- 11 ile topluyoruz
- 12 ile imzalıyoruz veya 15 ile tek seferde toplayıp imzalıyoruz
- Apk yı cihazımıza atıp kuruyoruz.
System apkları için:
- 8 ile ayıklıyoruz (sistem kaynaklarını tanıtıyoruz)
- Düzenleme işlemlerini yapıyoruz
- 10 ile topluyoruz
- Dikkat imzalama yapmıyoruz
- Rom.zip dosyasına veya rootlu cihazda root explorer ile direk system app içine atıyoruz
Mega Linki:
https://mega.nz/#!2AF3WJhI!v0xm0zG3HjUjMP5uJuwQkd_HKaW3lghFqJ6uvVJTNR8
Virus Total
https://www.virustotal.com/tr/file/57a354bcb8a4bbb9b7280088d5f4fd3774c402eef11214906b4e4508cfe90bab/analysis/1466101800/
Konu Kesinlikle bana ait değildir tamamı
ALINTIDIR.