-
emresarica.
User deleted
Rom geliştirmek programcılığa atılan ilk adımlardan birisidir.Yaygın inanışın aksine temel bir kaç tekniğe dikkat edildiğinde basit bile sayılabilir.Bu makalemde elimden geldiği kadar basit rom editleme ile ilgili bilgilerimi aktarmaya çalışacağım.İlerde müsait olduğum bir gün ileri düzey "GELİŞMİŞ EDIT" makalesi hazırlayarak kendi hazırlamış olduğum kod'ları paylaşmak istiyorum.Rom iki şekilde editlenebilir.
1-BASİT EDIT
Basit edit genellikle rom'un sistem ayarları ve çekirdeği oynanmaz daha çok görsel öğeler değiştirilir.Basit edit'de ana geliştirme seçeneği rom'un içinde bulunan dosyaların ismini değiştirmeden içeriğini değiştirmek ile alakalıdır.Örnek vermek gerekirse "bootanimation.zip" dosyasının ismini değiştirmeden içine girip içindeki resimleri değiştirdiğinizde boot animasyonu değişecektir.
2-GELİŞMİŞ EDIT
Gelişmiş edit için mutlaka bilgi birikimi şarttır.Kimse şu şöyle yapılacak bu böyle yapılacak diyemez çünkü işin bir standartı yoktur,ne yapılması gerekiyorsa o yapılmalıdır.Kullandığımız cihazların donanımlarının yazılımsal olarak desteklenmesi gereklidir.Eğer yazılımsal destekden yoksun bırakırsanız donanım sadece "boş bir metal parçaları dizinidir" ve çatal'dan daha fazla bir şey yapamaz.Üniversite yıllarımda motorsiklete merak salmıştım herkez gibi ilk motorsikletimi 2001'yılında üniversitede aldım 99 model bir yamaha yzf r6 idi.Motorsiklet fabrika çıkışı 120 Beygir'di,işin içene girince motorun aslında 160 beygir güç üretebileceğini öğrendim bir süre sonra motorsikletimi 160 beygire çıkartmayı başarabilmiştim.Hemde hiçbir parça takmadan sadece yazılım kullanarak.
Motorsikletim 3 ay sonra motor sardı ve kullanılamaz hale geldi.Sebebi donanımı fazla zorlamaktan başka bir şey değildi.Atomu parçalayamamıştım ama o gün yeni bir şey öğrendim."Atomu parçalamayacaksan over clock'dan uzak duracaksın"
Kullandığımız tüm elektronik cihazlar üretici tarafından daha uzun ömürlü olması için kısıtlanır.Bu kısıtlamalar yazılım ile açılabilse bile cihazın ömrünü kısaltacaktır.Donanım üzerinde yazılımsal yapacağınız her değişiklik + yönde olmayabilir.Rom'un kernel'li bu işe yarar.Cihazın saat hızı ram veri yolları gibi donanımsal bir çok emir dizini bu dosyaların içindedir içinde yapacağınız değişiklikler cihazın donanımın hasar göremesini sağlayabilir.
EĞER İLK ROMUNUZU YAPACAKSANIZ NE YAPARSANIZ YAPIN DOSYALARIN ADINI DEĞİŞTİRMEYİN SADECE İÇERİĞİNİ DEĞİŞTİRİN.KENDİ YAPIM ROMLARINIZ KENDİ İNSİYATİFİNİZDEDİR,HERHANGİ BİR SORUMLULUK KABUL ETMEM.
a-Basit Edit öncesi ihtiyaç duyacağımız bazı programlar.
Yazılım hazırlama işinde anahtar işletim sistemidir.Sıfır kilometre bir işletim sistemi çok daha iyi olacaktır.Tavsiyem eğer bu işe girecekseniz önce bilgisayarınıza ikinci bir işletim sistemi kurun.Nasıl mı?Örneğin bilgisayarınızın c: sürücüsünde windows 7 ultimate yüklü o zaman d : sürücüsüne window 8 yükleyin.Hem iki işletim sisteminiz olur hemde geliştirme aşamalarınızı temiz bir sistemde yapma şansınız olur.
7zip : Clockwork mod için yazılmış romları bu program ile açabilir tekrar zipleriz.Ayrıca .apk'lerin içeriğini göreme konusunda'da oldukca başarılı bir program.
SDK : SDK'yı artık hepimiz biliyoruz.Android için program yapma programı.
JDK :Android pc'de java tabanı kullanır bu tabanı sağlayacak programımız JDK.
GIMP : Gimp android resimleri üzerinde manipilasyon yapacağımız bir programdır.Gimp yerine biliyorsanız Photoshop'da kullanılabilir.
Notepad++ : Android içindeki kod'ları düzenleyebileceğiniz başarılı bir program.
Dsixda's Kitchen : Genel olarak ROM'un düzenlenmesi gereken yerlerde (image dosyası hazırlanması gibi)kullanılır.
Apktool : Yine apk2ler üzerine kod yazabileceğimiz bir program.
Motorola driver : Rom'u sorunsuz flaslamak için kullanılabilir.
CODE : http://developer.android.com/index.html eklemek istediğiniz code'lara ulaşabilirsiniz.
Programların hepsi "google"da var link vermeye lüzüm görmedim.Biraz araştırarak en güncel versiyonları indirebilirsiniz.
b-Romunuza program ekleme
"data/app"Klasörü sisteme kurulacak programları barındırır.Extra sisteme yükleme istediğini programları bu klasöre atmanız kafi gelecektir.
c-Sistem dosyalarını tanılama
System Klasörü :Rom'un merkezidir,üzerinde yaptığınız yanlış bir değişiklik rom'u kullanılamaz hale getirir.
system/app : Bu klasör işletimin sistemine ait olan programları kapsar "data/app"ile karıştırmayın.Bu bölüme attığınız programlar sonradan sistem üzerinden silinemez.
system/fonts :sistem font'larını barındıran dosyadır.Android fontları dışında font kullanamak sistemi bozar.O yüzden yükleyeceğiniz fontların android fontu olduğunu doğrulayın.Türkçe ve sağlam bir font isterseniz "UBUNTU"fontunu tavsiye ederim.
system/framework :Rom'daki bütün simgeler bu klasördedir.İçindeki dosyaları değiştirdiğinizde iconlarında değişecektir.Özellikle "framework-res.apk"dosyasını incelemenizi tavsiye ederim.Ama dikkat edin dosya isimlerini değiştirmeden dosyaların içeriğini değiştirin.Bu dosyayı 7zip'ile açabilirsiniz.
system/media : Media dosyalarını barındırır zil sesi vb.Stock yapmak istediğiniz dosyaları yer değiştirebilirsiniz.
build.prop dosyası :Bu dosya'da sistemin özellikleri rom'un yapımcısı gibi bilgiler yer alır.Düzenlediğinizde isminizi yada romunuzun versiyonu "hakkında"bölümünde görebilirsiniz.
örnek build.prop dosyasını aşağıdaki linkten inceleyebilirsiniz.SPOILER (click to view)begin build properties
# autogenerated by buildinfo.sh
ro.build.id=ITL41F
ro.build.display.id=################## BU BÖLÜME SÜRÜM NUMARASINI YAZIYORUZ
ro.build.version.incremental=eng.buildslave.20120125.000247
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.3.1 BU BÖLÜME VERSİYON NUMARASINI YAZIYORUZ
ro.build.date=Wed Jan 25 00:03:06 PST 2012
ro.build.date.utc=1327478586
ro.build.type=userdebug
ro.build.user=buildslave
ro.build.host=cyclone
ro.build.tags=test-keys
ro.product.model=MZ601
ro.product.brand=MOTO
ro.product.name=RTCOREEU
ro.product.device=########BU BÖLÜME KENDİ ADINIZI YAZABİLİRSİNİZ
ro.product.board=
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=motorola
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=tegra
# ro.build.product is obsolete; use ro.product.device
ro.build.product=umts_everest
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=umts_everest-user 3.2 H.6.5-17-3 1321319666 ota-rel-keys,release-keys
ro.build.fingerprint=MOTO/RTCOREEU/umts_everest:3.2/H.6.5-17-3/1321319666:user/ota-rel-keys,release-keys
ro.build.characteristics=tablet
# end build properties
# RIL and telephony related settings
rild.libpath=/system/lib/libmoto_ril.so
persist.ril.mux.ttydevice=/dev/ttyUSB2
persist.ril.mux.noofchannels=8
persist.ril.modem.mode=2
persist.ril.modem.ttydevice=/dev/ttyUSB4
persist.ril.features=0x34
ro.telephony.call_ring.multiple=false
ro.telephony.default_network=0
persist.ril.tcmd.ttydevice=/dev/ttyUSB3
# The OpenGL ES API level that is natively supported by this device.
# This is a 16.16 fixed point number
ro.opengles.version = 131072
# Indicate carrier OTA SP number schema
# refer to frameworks/base/telephony/java/com/android/
# internal/telephony/cdma/CDMAPhone.java for the schema:
#ro.cdma.otaspnumschema=SELC,1,80,99
# UA profile
ro.mot.hw.uaprof=http://uaprof.motorola.com/phoneconfig/motomz601/Profile/motomz601.rdf
# BP flex version
ro.build.bp.config.version=UCAEVEUB1B8EU03F.0R
# Google use the system property to control if allow device to be unlock without SIM
keyguard.no_require_sim=true
# Enable APN authentication for a specific MCCMNC, "ALL" for all MCCMNC
umts.apn_authentication.enable=ALL
drm.service.enabled=true
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.notification_sound=pixiedust.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
wifi.interface=wlan0
wifi.supplicant_scan_interval=15
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
dalvik.vm.lockprof.threshold=500
ro.setupwizard.mode=OPTIONAL
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ŞİMDİLİK BU KADAR DEĞİŞİKLİK KAFİ İLERLEYEN GÜNLERDE EDIT İÇİN DAHA DETAYLI BİLGİLER İLE DEVAM EDECEĞİZ.
ÖNEMLİ HATIRLATMALAR
1-Mutlaka kendi cihazınıza uygun rom'u editleyin.Her rom'un kernel yapısı farklıdır.
2-Dosya isim ve uzantılara dikkat edin.Default wallpaper'ı değiştirirken uzantısını ve ismini bozmayın sadece fotoğrafı değiştirin.
3-Yaptığınız çalışmaları sık sık kaydedin ve mümkünse 1'er saatlik çalışmaları cihaza yükleyerek hatamı yaptınız doğrumu gidiyorsunuz kontrol edin.Clockworkmod yüklü ise romunuzu 7zip ile zipleyip sdkart'dan direk kurabilirsiniz.
4-Yaptığınız çalışmaların dosya boyutları özellikle resimlerim boyutlarına dikkat edin.Cihazınız 640x480 ise kullanacağınız wallpaper bu ebat'da olsun,tutup daha fazla yada daha az çözünürlükte bir fotoğraf kullanmayın.
5-İconların ebatlarına dikkat edin 25x25 pixel çalışmayı 35x35 kaydetmek ekran görüntüsünün kaliteli bir hale gelmesini sağlamaz.
6-Rom'a ekleyeceğiniz dosyaları abartmayın.Rom ne kadar küçük olur ise o kadar iyidir.Tutup 320 kpbs 15mb mp3 zil sesi atmayın ne gerek var kardeşim
7-Gelişmeye açık olun internet süper bir kaynak ne ararsanız var devamlı gelişmeye ve yeni şeyler öğrenmeye istekli olun.
Edited by emresarica - 6/3/2012, 17:20. -
border force.
User deleted
Sticky yaptım Emre kardeşim.Teşekkürler . -
Semseddin.
User deleted
Eline sağlık emre, faydalı ve güzel bir rehber. . -
beefytr.
User deleted
elinize sağlık... . -
.
Rom editlemek isteyen arkadaşlar için faydalı bir bilgi olmuş . -
B23Guven.
User deleted
Mount, Unmount, Dalvik Cache ve Odex-Deodex nedir bunlar hakkında bilgisi olan var mı ? . -
Semseddin.
User deleted
Linux'de sisteme disk bağladığın zaman mount, çıkardığın zaman unmount olur. Android terminolojisi için aşağıdaki konuya bakabilirsin.
https://motomodtr.forumcommunity.net/?t=47304109. -
menem.
User deleted
hocam mesela ilk etapta system/app içindeki apk ları çıkartıp farklı apklar yüklemeyi en basitinden gösterebilir misiniz?
ben ilk costom rom indirip içindeki apklardan mesela birini çıkatıp istediğimi attım örnek googlecamera yerine samsungcamera2 attım ama simgeye tıklayınca hata verdi durduruldu diyor
system/app içindeki apk ları içinden silmek yetiyor mu veya farklı bir apk attığımda buraya dosyayı (apk uzantılı dosya) atmamız yeterli mi?
neden böyle bir hata verdi yani biraz detay verebilir misiniz bu konuda?. -
üstad.
User deleted
hocam mesela ilk etapta system/app içindeki apk ları çıkartıp farklı apklar yüklemeyi en basitinden gösterebilir misiniz?
ben ilk costom rom indirip içindeki apklardan mesela birini çıkatıp istediğimi attım örnek googlecamera yerine samsungcamera2 attım ama simgeye tıklayınca hata verdi durduruldu diyor
system/app içindeki apk ları içinden silmek yetiyor mu veya farklı bir apk attığımda buraya dosyayı (apk uzantılı dosya) atmamız yeterli mi?
neden böyle bir hata verdi yani biraz detay verebilir misiniz bu konuda?
ben de acemiyim de hocam, emre hocanın dediği gibi ismini değiştirmeden mi attın yoksa farklı isimde mi attın? (yani samsungcamera2 apk sının ismini googlecamera yapıp mı attın?).