Your SlideShare is downloading. ×
0
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Android ROM Geliştirme
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android ROM Geliştirme

8,498

Published on

19 Aralık Bahçeşehir Üniversitesi'nde sunduğum ROM Geliştirme Semineri'nin sunumu.

19 Aralık Bahçeşehir Üniversitesi'nde sunduğum ROM Geliştirme Semineri'nin sunumu.

Published in: Education, Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
8,498
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
83
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Android Rom Geliştirme Muharrem Taç M2 Bilişim - Gelecekonline
  • 2. Akademik çalışmalar, Farklı uygulamalar içeren derlemeler, Deneysel çalışmalar, Özelleşmiş dağıtımlar, Kurumsal çözümler, Neden ROM Geliştirme?
  • 3. <ul><li>AOSP Android Open Source Project nedir? </li></ul><ul><li>ROM, Firmware, İşletim sistemi nedir? </li></ul><ul><li>Android kaynak kodlarını derleme </li></ul><ul><li>Bir ROM Derleyip Cihaza Yükleme </li></ul><ul><li>Cus t om ROM&apos;lar </li></ul><ul><li>Cyanogenmod </li></ul><ul><li>MoDaCo </li></ul><ul><li>MIUI </li></ul><ul><li>Diğer ROM&apos;lar </li></ul><ul><li>HTC&apos;nin kaynak kod deposu  </li></ul>
  • 4. Android işletim sisteminin depolara (repositories) gönderilen kodlar, araçlar, dökümanlarından oluşur, Android 4.0.3 dahil bu zamana kadarki tüm Android kaynak kodları, Android SDK Kaynak kodları, Eclipse plugin (ADT) kodları, Dökümantasyon, Google’ın çıkardığı cihazların tescilli binary dosyaları (p roprietary binaries ) AOSP (Android Open Souce Project) nedir
  • 5. Bilgi adresi : http://source.android.com İndirme adresi : https://android.googlesource.com (önceden android.kernel.org’du) Kullanılan versiyonlama sistemi: git Örnek bir indirme: git clone URL Bunun yanında github&apos;da çok sayıda Android Custom ROM kodları bulunmaktadır, AOSP (Android Open Souce Project) nedir
  • 6. ROM , Read Only Memory’nin kısaltmasıdır ama konumuz bu ROM değil. Aslında Android cihazla birlikte gelen ROM’un bir snapshot’undan bahsediyoruz. Firmware , donanımların en alt seviye yazılımıdır. Bir bilgisayarın içerisinde bile her bir donanımın firmware’i olabilir. Harddisk, DVD firmware’leri gibi… Ülkemizde «firmware» yerine «ROM» kelimesi yaygınlaştı ama doğrusu firmware’dir. Android İşletim Sistemi ise çeşitli işlemlerle bir Firmware olarak derlenebileceği gibi bir bilgisayar işletim sistemi olarak da derlenebilir. ROM, Firmware, İşletim sistemi nedir?
  • 7. ROM, Firmware, İşletim sistemi nedir? Cihaz disk bağlama noktaları /boot Bootloader, kernel /recovery Android recovery, clockwork, amon ra /system Android OS, Sense UI, boot animation /cache /data Kullanıcı uygulamaları, veriler, ayarlar
  • 8. ROM derleme Geliştirme bilgisayarını hazırla (Git, Java, gibi yüklemeler) Kaynak kodu indir Kaynak kodu derle Cihazı hazırla (unlock etme, fastboot modda açma..) Derlenen ROM’u cihaza yükle
  • 9. Geliştirme bilgisayarında yüklü miktarda RAM ve işlemci çekirdeği olmalı, 64 bit Ubuntu 10.04 olmalı. Oracle (Sun) Java yüklü olmalı. Open JDK ve diğer Java&apos;lar olmaz!!! Git adlı versiyonlama sistemi yüklenmeli, Python yüklenmeli, Gerekli derleme paketleri yüklenmeli, Cihazlar için USB ayarlaması yapılmalı, http://source.android.com/source/initializing.html Geliştirme bilgisayarını hazırlama
  • 10. repo scripti için bin dizini oluşturulup PATH&apos;e eklenir $ mkdir ~/bin $ PATH=~/bin:$PATH repo scripti çekilir, çalıştırma yetkisi verilir: $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo &gt; ~/bin/repo $ chmod a+x ~/bin/repo İndirilecek kodlar için bir dizin oluşturulur $ mkdir ICS_SOURCE $ cd ICS_SOURCE repo scripti ile git ortamı hazırlanır $ repo init -u https://android.googlesource.com/platform/manifest Veya hangi branch çekilecekse -b parametresiyle branch adı verilir (http://source.android.com/source/build-numbers.html) $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1 Ve indirmenin başlaması için nihayi komut verilir $ repo sync Bu indirme işlemi çok uzun sürer beklemek gerekiyor. İşlem sonunda Android&apos;in 4.0.3 versiyonun tüm kodları ICS_SOURCE dizinine inecektir. http://source.android.com/source/downloading.html Kaynak kodunu indirme
  • 11. İndirme işlemi tamamlandıktan sonra ortamın set edilmesi için gereken envsetup.sh scriptini çalıştırmak gerekiyor. $ source build/envsetup.sh Veya $ . build/envsetup.sh Derleme (building)
  • 12. Daha sonra bir yükleme listesi çıkması için lunch komutu veriyoruz $ lunch Derleme (building)
  • 13. Burada hangi cihaz için derleme yapmak istediğimizi seçiyoruz. $ Which would you like? [full-eng] 7 Derleme (building)
  • 14. Galaxy Nexus GSM/HSPA+ : maguro Galaxy Nexus CDMA/LTE : toro Nexus S : crespo Nexus S 4G : crespo4g Xoom (Wifi) : wingray Xoom (CDMA/LTE) : stingray Nexus One : passion Android Developer Phone 1: dream Android Developer Phone 2: sapphire http://source.android.com/source/build-numbers.html Derleme (building) Cihazların kod adları
  • 15. Cihaza özel derleme yapmak için önce cihaz için gereken açık kodlu olmayan tescilli binary (proprietary binaries) dosyalarını indirmek gerekiyor. Bu dosyalar aslında cihazların driverlarını içeren birer scripttir ve çalıştırıldıklarında vendor dizininde klasörler oluştururlar. Bu binaries dosyaları olmadan cihaza özel yüklemede donanımlar çalışmayacaktır. Tüm Android cihazlar için bu dosyalar bulunmuyor Android geliştirme cihazları için Google tarafından yayınlanmıştır. İndirme adresi: http://code.google.com/intl/tr/android/nexus/drivers.html Cihaz için uygun tgz uzantılı dosyalar çıkarılıp çalıştırılınca artık cihaza özel derleme yapılabilir. Buradaki 8 derleme yapılan bilgisayarın işlemci sayısına göre artabilir $ make -j8 Dikkat bu işlem uzun sürebilir. 8 Core 12 GB RAM&apos;lık makinede 1 saat sürmüştür. Cihaza özel derleme
  • 16. Android cihazların çeşitli üreticileri çeşitli açma şekilleri düzenlemiştir. fastboot modda açma bootloader modda açma recovery modda açma gibi Bu genelde ses düğmesi ile güç düğmesine aynı anda basılması ile mümkündür. Cihazları USB ile geliştirme ortamına bağladığımızda fastboot modda komut gönderebilmek için Android SDK&apos;nın indirilmiş olması gerekiyor. Andoid SDK içerisinde fastboot, adb ve ddms gibi önemli araçlar bulunmaktadır. Cihazlara fastboot modda işlem yapabilmek için önce OEM kilidini açmak gerekiyor. Bu kilit açma işlemi de cihazdan cihaza farklı olabilir. Nexus S&apos;in kilit açma işlemi: $ fastboot oem unlock Cihaza yükleme
  • 17. Cihaz bu modda açılır ve aşağodaki komutlar gönderilir: Mevcut sistemi tamamen silmek için $ fastboot erase cache $ fastboot erase userdata Derlenen sistem imajlarının bulunduğu dizini bildirmek : export ANDROID_PRODUCT_OUT=out/target/product/crespo $ fastboot flashall Bu komutla birilikte yeni sistem hazırdır. Dikkat : bu yeni sistemin içinde Google Uygulamaları yoktur. Cihaza yükleme
  • 18. Cyanogenmod Custom ROM&apos;lar
  • 19. MIUI Custom ROM&apos;lar
  • 20. MoDaCo, Darky, Villain, Ve tüm şirket ROMları, Touchwiz, Sense UI... Custom ROM&apos;lar

×