Apk Türkçeleştirme ve Düzenleme

Başlatan αη∂яσι∂ кιηg, 14 Mayıs 2014, 22:03:56

« önceki - sonraki »

0 Üyeler ve 5 Ziyaretçi konuyu incelemekte.



Burada anlatılacak yöntemde kullanılan MultiTools V.9 programı Quandrostr taraından yazılmıştır. Programın kaynağı Xda üzerinden alınmıştır.
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap




1. Apk ayıklaması (dex arsc raw)
2. Apk toplaması (dex arsc raw)
3. Apk imzalaması (test key ve market)
4. Apk dil düzenlemesi (türkçeleştirme)
5. Apk dil güncellemesi (yeni apk için eski dil dosyası ekleme)
6. Apk içinde istenmeyen öğeleri kaldırma veya ekleme (arayüz için)
7. Apk içinde kod değişikliği
8. Apk içinde reklam kaldırma (3 ayrı yöntem)
9. Apk içinde simge pngleri düzenleme ve ekleme
10. Dil xml dosyalarını türkçeleştirme anlatımı
11. Apkları pc de çalıştırmak ve test etmek
12. Hata düzeltme
13. Apk optimizasyonu
14. Sistem apkları ayıklama
15. Sistem apkları toplama
16. Sistem apklarını direk root ile sisteme yükleme
17. Classes.dex düzenlemesi


Multitools, apk dosyalarını ayıklama, düzenleme ve imzalama gibi işlemleri yapabilen ms-dos yapısında çalışan bilgisayar programıdır.


Öncelikle gerekli olan programları aşağıdaki linklerden indirerek kurulumlarını yaptıktan sonra konuyu takip ediniz.


MULTI TOOLS V.9
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


32 Bit işletim sistemi kullananlar bunu indirsinler.
JAVA RUNTIME ENVIRONMENT VE
JAVA DEVELOPMENT KIT X86
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


64 Bit işletim sistemi kullanlar bunu indirsinler.
JAVA RUNTIME ENVIRONMENT VE
JAVA DEVELOPMENT KIT X64
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


NOTEPAD ++
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap



İndirdiğiniz zip arşivinden Multitools klasörünü masaüstüne çıkartın.





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. Uygulama açılışında atma sorunu veya apk ayıklamada hata verir. O yüzden kısa ve basit isimler yazın.
Türkçe karakterler: ğ ü ş ı ö ç Ğ Ü Ş İ Ö Ç
Örnek: ROM Manager (Premium) v5.5.2.8.apk yerine rom.apk gibi kısa isim verin.







Multitools klasörü içindeki Multitools.bat dosyasını çalıştırın.


Eğer place-apk-here-for-modding klasöründe bir tane apk varsa program bunu otomatik olarak varsayılan apk olarak seçecektir. Üst barda seçili uygulama yazmaktadır.





Eğer iki tane ve daha fazla apk varsa seçili uygulama yok 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 apknın sıra numarasını yazıp enterleyin.









Ben program içindeki kodlara 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ştirebilir.


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: Boşuna çeviri ile uğraşmamanız ve çalışmanızın boşa gitmemesi için apk dosyasını bir kere 9 ile ayıklayıp 11 ile toplayın bu işlemlerin birinde hata almıyorsanız 9 ile tekrar ayıklayıp çeviriye 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 Apk ayıklıyoruz. Bu işlem Apk içindeki ayıklama modunda ayarlanmış olan dosyayı ve res içindek xmlleri 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: rom.apk isminde bir klasör oluşur ve tüm düzenleme işlemleri 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 daha sonra açıklayacağım. Dil dosyaları ise values klasörlerinin içindeki strings.xml ve arrays.xml dosyalarıdır. Büyük çoğunluğu strings.xml dir. arrays.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 İngilizce 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: Stil 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 ama çok dikkat edin bir < veya > işaretinin yanlışlıkla silinmesi hataya neden olacaktır. Bazen bunların birini sildiğiniz de uyarı amacıyla satır kırmızı olacaktır ama olmadığı durumlarda olabilir.


Ö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. Ve apk ayıklama modunu değiştirmişseniz o modu 20 ile tekrar ayarlayın.


11 ile Apk topluyoruz.






Uygulamayı 11 ile topladıktan sonra place-apk-here-for-modding klasöründeki orjinal xxx.apk yı winrar ile açın ve place-apk-here-for-signing klasöründeki unsignedxxx.apk yı da winrar ile açın. xxx.apk içinden eksik dosyaları alıp unsignedxxx.apk içine tamamlayın. Program apknın içinden belirli dosyaları çıkartır hepsini çıkartmayabilir o yüzden apkyı topladıktan sonra ve apkyı imzalamadan önce eksik kalan dosyalar varsa elle tamamlayın. META-INF klasörünü tamamlamayın bu imza klasörüdür. Apk yı 12 veya 13 ile imzalayınca bu klasör oluşturulacaktır.


Dikkat edilmesi gereken nokta sadece ve sadece eksik olanları ekleyin var olanları veya hepsini eklerseniz düzenlenmiş dosyaların üzerine orjinal dosyaları atmış olursunuz buda yaptığınız tüm değişikliklerinizin boşa gitmesi demektir.





Varsa eksik dosyaları tamamladıktan sonra ana ekranda iken 12 ile testkey imzası (önerilir) veya 13 ile mağaza imzası (önerilmez) 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ığınzıda 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.



Apk imzalamada sorun yaşarsanız uygulamayı telefona kurmadan önce aşağıdaki dosyayı indirip telefonunuza kurun.


Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap





Ancak yüklemeden önce lisans sorunu yaşarsanız indirdiğiniz Zip Signer 2 apksını telefonumuzdan açıp, Telefonunuza attığınız dosyanın yerini Input butonuna basarak kayıt edilecegi yeri Output butonuna basarak seçiyoruz. Sonra testkey seçeneğini seçip sing the file butonuna basıyoruz ve dosyamız lisanslanmış oluyor böylece telefonunuza kurulabilir duruma gelmiş oldu.





Mağaza imzası 13 ile imzalamak için yapmanız gerekenler resimde gösterilen ayarı yapmanız ve Java JDK daha önce indirip kurmanız gerekiyor.





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 düzenlediğiniz xml dosyalarını saklamanızdır. Çünkü bir apk ayıklandığında çok sayıda dosyadan oluşuyor ve buda belki bir iki apk da değil ama daha fazlasında pc hardiskiniz de dosya sayısından dolayı yavaşlamaya ve performans kaybına neden olacaktır.



AÇIKLAMALAR:


Ayıklama işleminde hata alıyorsanız bu genelde 1.apk hatasıdır. Apk nın ayıklama işlemi için taban alınan 1.apk içeriği eksik olabilir. Zamanla bu apk içeriği tamamlanıyor şimdilik normal apklar için son sürüm multitoolsu kullanmanız yeterli olacaktır.






Apk yı her yeni sürümde sıfırdan türkçeleştirmek gerekiyor mu? Tabiki HAYIR.
Yapımcı sıfırdan kodlamıyorsa bizimde sıfırdan çeviri yapmamıza gerek yoktur. Ve hayır derken gene az biraz çeviri yapacaksınız. Yeni sürümde eklenen yeni dil satırlarını bulup türkçeleştirip eski dil dosyası strings.xml içine ekleyip bu xml yi yeni apk içine eklemelisiniz. Büyük uygulamalarda 2500 e yakın dil satırı olabilir çeviri uzun sürecektir ama unutmayın bu uygulamayı bir kere çevireceksiniz bir kere için değer diyorum.


Yeni eklenen dil satırları iki türlü bulabilirsiniz


Birinci yöntem yeni apk ya eski dil dosyasını ekleyip telefona kurar ve İngilizce kelimeleri görüp yeni apknın İngilizce dilinden alıp türkçe ye çevirip Türkçe dil dosyasına eklersiniz.


İkinci yöntem excel tablosunda iki dil satırını eski Türkçe ile yeni İngilizce yi iki ayrı sütuna dizer ve A dan Z ye sıralarsınız ve name koduna bakarak satır satır kolayca farkları bulabilirsiniz.






Dil dosyasında fazla dil satırlarını bulmak için apkyı topladıktan sonra Kayitlar.log dosyasını açın appt hatasında yazılan dil satırları ve ve fazla olan dil klasörleri gösteriliyor bunları silip azda olsa optimizasyon yapabilirsiniz. Tavsiyem ana klasör values ve values-tr dışındaki tüm dil klasörlerini silmeniz ama dikkat edin her values-xx klasörü dil klasörü değildir. Sadece ülke ismi kısaltması olanlar dil klasörleridir. Values-land veya values-v11 vs vs gibi klasörler dil klasörleri değildir bunları silmeyin. Ve eğer başka dillerin içinde arrays ve strings xmleri dışında başka xmller varsa özellik style ve color xmlleri bu dil klasörlerinide silmeyin.


Bazı ülke dil kodları:
tr Türkçe - zh Çince - fr Fransızca - ru Rusça - ja Japonca - bg Bulgarca - de Almanca


Dil dosyasında eksik satırlar kalırsa sorun olmaz konuyu baştan aşağı okuduysanız yukarıda varsayılan ana dil klasörü values olduğunu söylemiştim. Android te sistem dili Türkçe ise apk içinde values-tr yani Türkçe dil dosyasını kullanır ama values-tr içindeki strings xml de eksik dil satırları varsa bunları values içindeki strings.xml den yani varsayılan dil dosyasıdan tamamlar. Bu dil dosyası genelde ingilizcedir. Genelde diyorum çünkü çoğu yazılımcı ingilizce dilinde uygulama yazar ama bu illa ingilizce olacak diye bir şart yok. Çin bir yazılımcı direk varsayılan dili çince de yazabilir. Kısaca eksik satır soruna neden olmaz ama uygulama içinde türkçe dilinden eksik kalan yerlerde ingilizce gözükecektir. Bunları ingilizce dilinden kopyalayıp çevirip türkçe dil dosyasına ekleyebilirsiniz.


Uygulama simgelerini değiştirmek için res klasörü içinde drawable klasörleri uygulamanın ana simgesi ve uygulama içinde kullanılan simgelerin olduğu klasördür png şeklinde oldukları için ister MS Paint le ister Photoshop gibi gelişmiş resim düzenleme programlarıyla düzenleyebilir ve değiştirebilirsiniz. Png leri optimize etmek için ayıklama işleminden sonra resim değişikleri yaptıktan sonra ana menüde 2 ile sıkıştırıp kalitesini bozmadan optimize edebilirsiniz. Bu size biraz hafıza boyutu kazandıracaktır özellikle yaptığım denemeler sonucu 6 mb lık tema.apk sini 4 mb ta düşürdüğü olmuştur. 2 mb 2 mb tır iyi kötü bir mp3 veya basit bir uygulama daha kurulabilir. Uygulamanın kasmasını da öncelemesi de cabasıdır.


Uygulama içinde istenmeyen satırlar mesela uygulama içinde çoğu yerde, örneğin seçenekler listesinde, ana menüsünde, ayarlarında bağış, hakkında, yardım ve reklam gibi öğeleri kaldırmak için xml - layout - menu vs vs klasörleri içindeki xml lerde düzenleme yapmalısınız.


Örnek: Rom Managerin ana menüsünde seçeneklere bastığım da bu üç öğe geliyor. Bunları düzenleyelim.






Bunların kodlarını düzenlemek veya sırasını değiştirmek için res klasörü içinde menu klasörü içinde rommanagermenu.xml dosyasını düzenlemek gerekir. Neyi nerede bulacağım derseniz xml adı zaten aşağı yukarı düzenlenecek kısmın adını veriyor. xml yi açıyoruz.


Başlıca xml kod açıklamaları:


Not: " xxx " iki tırnak içindeki metin @ ile başlıyorsa yönlendirme kodu var demektir.
Örnek: Android:title="@string/menu_edit" bu yönlendirmenin anlamı kullanılan sistem diline göre bu türkçe ise values-tr klasöründe string dosyası içinde name="menu_edit" satırındaki kelimeyi göster demektir. Eğer bu iki tırnak arasındaki kodu siler direk metin yazarsanız dil ne olursa olsun yönlendirmeyi kaldırdığınız için direk buraya yazdığınız metin gözükecektir.


- android:title="@string/menu_edit"
- android:title="Menü düzenle"


Values içindeki string.xml içinde dil yoksa Dil satırlarını dil dosyalarında bulamıyorsanız res içinde menu, xml ve layout klasörleri içindeki xml dosyalarında olabilir. Veya apk içindeki assets klasörü içinde olabilir. Veya yazılımcı kendi bir dizine atmış olabilir. En kötüsü dex içinde olmasıdır. dex ayıklandığında çok ama çok sayıda tahmini en az 100 en fazla 10 000 smali dosyasına dönüşür. Bunların içinde tek tek dil aramakta ayrı bir zorluk olacaktır.


Kısaca string içinde dil yoksa:
1. menu xml ve layout klasörleri içindeki xml dosyalarına bakın
2. Apk dosyası içindeki diğer klasörlerin içine (assets com resource org vs vs) bakın
3. Classes.dex ayıklayıp .smali dosyalarına bakın ama uğraşmayın binlerce var.


Dil kodları: Bunların kodları string dosyalarına yönlendirmelidir.
android:title= Başlık
android:text= Metin
android: summary= Açıklama-özet
android:dialogMessage= Diyalog mesajı


Diğer kodlar: Bu kodlar genelde tasarım - fonksiyon - ayar vs vs kodlarıdır.
android:dialogLayout= Diyalog katmanı
android:textSize= Metin boyutu
android:label= Etiket
android:key= Anahtar
android:action= Eylem
android:targetPackage= Hedef paket.
android:targetClass= Hedef sınıf
android:inputType= Giriş tipi
android:entries= Girişler
android:dependency= Bağımlılık
android:id= Kimlik






Bu satırların yerlerini değiştirseniz uygulama içinde de değişir. Örnek: 2 ile 3 değiştirelim.
Orjinal olan:
]


Değiştirilen:



Satırı komple silerseniz uygulama içinde o öğe gösterilmez. Örnek: Bağış olanı kaldıralım.





Arayüzdeki işlev altındaki açıklaması ve uygulama kurulumunda varsayılan ayarını da düzenleyebilirsiniz.





Önce kaldırmak istediğimiz satırın kodunu dil dosyası olan string.xml içinden bakarak buluyoruz name=" " iki tırnak içinde yazan kod o cümlenin kodudur.





Bu kodun hangi xml içinde olduğunu bulmak için res içinde tüm xml dosya biçimini aratıyoruz. Bulunan tüm xml leri seçip Notepad++ ile aç diyoruz. Seçili tüm xml ler Notepad++ ile açıldığında araç çubuğundan Arama ve sonra Bul tıklıyoruz aranacak kelimeye kodu yazıyoruz ve sağ taraftan açık tüm belgelerde bul diyoruz altta açılan sonuçlara bakarak strings.xmllerini görmezden gelirseniz zaten geriye kalan xml yi bulursunuz.





Verdiğim örnekte preferences yani tercihlerin olduğunu zaten xml adından anlaşılıyor. Resimde kırmızı ile içine aldığım kısmı silerseniz artık açıklama satırı olmayacaktır. ve ondan sonraki values yani değer kısımınıda false yaparsanız ayar seçili deği demek true yaparsanız ayar seçili demektir.






HATALAR - DÜZELTME İŞLEMLERİ


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 Multitools iç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






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 - 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üzelttiğinizde diğer hatalar otomatikmen düzelecektir. Bu xmllerin hepsi birbiriyle bağlantılıdır.



SİSTEM APKLARI DÜZENLEMESİ


Buraya kadar normal apklarının düzenlemesini anlattım. Sistem apklarını yani rom.zip içindeki veya Cihazındaki system/apps içindeki apkları düzenlemek için normal uygulamalarla aynı düzenleme işlemini yapıyoruz sadece toplaması farklı ve imza gerektirmez. Sistem apksını ister rootlu cihazınızdan system/app içinden ister rom.zip dosyasından alın ve place-apk-here-for-modding klasörüne atın. Multitools açın ve 9 ile apkyı ayıklayın.


Eğer ayıklanmaz hata verirse 23 ile kaynak değiştirin bu 5 kaynağı ayrı ayrı seçip ayıklama işlemi yapın. Gene hata alıyorsanız multitoolsu kapatmadan (çünkü her açılışta 1.apk değiştiriliyor) rom.zip içinden system/framework içinden framework-res.apk yı kopyalayın adını 1.apk yapın. Eğer ikinci bir küçük boyutlu xxxframework-res.apk gibi apk varsa bunu da kopyalayıp adını 2.apk olarak adlandırın yoksa yoktur devam edin. Bu 1.apk ve 2.apk yı masaüstünde kullanıcı klasörü içindeki apktool klasörü içindeki framework klasörü içine yapıştırın ve içinde zaten 1.apk olduğu için üzerine yazılsın mı sorusu ile karşılaşırsınız evet deyip üzerine yapıştırın. Şimdi 9 ile ayıklama işlemini tekrar yapın.


Ayıkladığınız apk normal apklar gibi projects klasöründedir. İstediğiniz gibi düzenleme yapabilirsiniz. Multitoolsu kapatmayın ve düzenleme işleminizi yapın az önce yazdığım gibi multitools her açılışta 1.apk yı değiştiriyor çünkü multitoolsun amacı 3. parti uygulamaları (yani normal uygulamalar) düzenlemektir eğer olurda kapatırsanız veya kapatmışsanız ve takrar sistem apksı düzenleme işlemi yapacaksanız multitoolsu açtıktan sonra 1.apk ile varsa 2.apk yı gerekli dizine tekrar atın. İşleminize devam edin.


Not: İkili framework-res apklarına sahipseniz bu 1.apk ve 2.apk kaynak işlemine dikkat edin. Böyle romlarda multitools ile gelen kaynak apklar eksik kalacaktır.


Masaüstüne kullanıcı klasörünüz yoksa direk ulaşmak için:
C:\Kullanıcılar\Kullanıcı adı\apktool\framework


Bu apkyı toplamak için 10 ile topluyoruz.





Karşınıza orjinal apkdaki dosyalar yeni apk ya kopyalansın mı sorusu gelecek bunu h ile cevaplayın yoksa yaptığınız tüm değişiklikler gider.






İkinci soru orjinal AndroidManifest.xml yeni apkya koplayalansın mı sorusu gelecek eğer bu xmle içinde düzenleme yapmamışsanız e ile cevaplayın çok önemli değildir h de diyebilirsiniz.





Bitti. Apk dosyanız modified-system-apk-files-here klasöründe isminin 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. Telefonu kapatıp açmanız yeterlidir. Veya cm de de uygulama güncelleniyor deyip kendiliğinden kapanıp açılır.






System apkları imza gerektirmez içindeki orjinal imzasını değiştirmediğiniz sürece istediğiniz gibi düzenleme yapabilirsiniz. Hatalı düzenlemeden kaçının zira sistem apksı düzenliyorsunuz. Cihazınız açılmayabilir.



UYGULAMANIN KENDİ REKLAMLARINI KALDIRMAK


Uygulamanın kendi içindeki reklamları engellemek için res içindeki layout klasörü içindeki reklamın xmlesini bulmak gerekir. Genelde ad veya ads ile başlayan xmllerdir. Bunları açıp içindeki reklamın yüksekliği veya uzunluğunu 0 yapıyoruz bu reklamı tamamen engellemez reklam sistemi hala çalışıyor olacaktır ama ekranda gözükmeyecektir. Çünkü gösterilecek katmanı sıfırladık.






Son bir kez daha kısaca her şeyi özetlemek gerekirse:
Normal apklar için:
-9 ile uygulamayı ayıklıyoruz
-xml leri düzenliyoruz
-11 ile topluyoruz
-12 ile imzalıyoruz bitti
-Apk yı cihazımıza atıp kuruyoruz.


System apkları için:
9 ile ayıklıyoruz
10 ile topluyoruz
İmzalama yapmıyoruz
Rom.zip dosyasına veya rootlu cihazda root explorer ile direk system app içine atıyoruz.



Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap


Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap





Linkback: Apk Türkçeleştirme ve Düzenleme
  • Gösterim 35,996 
  • Rom yapımı ile ilgili döküman ve program paylaşımı
  • 11 Yanıtlar



Gerçekten çok güzel bir anlatım olmuş elinize sağlık super
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap

#2
Hocam ellerinize sağlık çok güzel ve ayrıntılı bir anlatım olmuş  :neseliiii:   
Ben dün root explorer pro 3.1.8 apk türkçeleştirme yapayım dedim sadece deneme amaçlı Res bölümünde value-tr klasoru yaptım videodaki gibi ve içinde 2 tane dil dosyası buldum diğerlerini sildim.
Bu ikisinin içine baktım ama çok az çevrilecek yazı buldum. Mesela root explorer'da bir klasöre uzun basınca(copy, move, delete vs...) birsürü ingilizce şey çıkıyordu ama ben xml dosyalarında bunların hiç birisini bulamadım.Acaba ne yaparsam onlarıda görebilirim.
Not: Market imzalama yapmayacağım için JDK kurmadım. Sadece JRE yazanı kurdum acaba bu sorun teşkil eder mi?
Şimdiden teşekkürler...

Launcherı başarılı bir şekilde editledim telefona attığımda launcher aktifleşmedi.
Yeniden başlatım düzelmedi.
Ziple attım düzelmedi.
Kendi launcherini geri yükledim yine düzelmedi
Launcher aktifleşmiyor

Nasıl bu durumu çözebilirim.
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap

Bir teşekkürü bize çok görmeyin.

Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap
Launcherı başarılı bir şekilde editledim telefona attığımda launcher aktifleşmedi.
Yeniden başlatım düzelmedi.
Ziple attım düzelmedi.
Kendi launcherini geri yükledim yine düzelmedi
Launcher aktifleşmiyor

Nasıl bu durumu çözebilirim.

Arkadaşım arama ekranına
*#*#0000#
*#0000#
*#*#0000*#*#

Kodlarından birini yaz dene olmazsa cwm den wipe işlemlerini yap yine olmazsa yedeğin varsa sadece system kısmını restore ederek'de düzeltebilirsin.
TELEFONA ROM YÜKLEMEDEN ÖNCE MUTLAKA HATASIZ YEDEKLERİNİZİ ALINIZ!!!
KONU AÇMADAN ÖNCE FORUMDA ARAŞTIRMA YAPINIZ!!!
TEŞEKKÜR BUTONUNU KULLANMAYI UNUTMAYINIZ!!!


Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap

Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap

 Teşekürler *#0000# işe yaradı.
Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap Linklerin Görülmesine İzin Verilmiyor Üye ol Veya Giriş Yap

Bir teşekkürü bize çok görmeyin.

elinize sağlık güzel paylaşım olmuş
peki assest/csv içindeki değerleri değiştirdim sizin dediğniz gibi her şeyi yaptım apk yi kurdum ama sunucu ile istemci eş zamanlı değil hatası aldım.bu konu da yardımcı olur musunuz?

Peki arkadaşlar rom nasıl türkçeleştirilir bu programlamı olur veya başka hangi programlarla olur bunun anlatımı varmı forumda..?


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious

Benzer Konular (5)


İçerik sağlayıcı paylaşım sitesi olarak hizmet veren Replikacep.com sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur.Replikacep.com hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.
Footer menü
Hakkımızda
Bize Ulaşın
Biz Kimiz
Hizmetlerimiz