Android Açık Kaynak Projesi'nden Özel bir ROM Nasıl Yapılır?

Android telefonunuzu köklendirme veya çok popüler CyanogenMod veya onun halefi Lineage OS gibi özel ROM'ları indirmeye alışkınsanız merak etmiş olabilirsiniz - insanlar bu ROM'ları nasıl kurabilir? Özelleştirilmiş bir ROM geliştirmeye tam olarak ne kadar iş var?

Bu kılavuz, kendi özel Android ROM'unuzu geliştirmenin temelleri konusunda size yol gösterecektir. Bunun büyük bir taahhüt olduğunu belirtmek gerekir - eğer Linux terminallerinde kodlama veya dalga geçme konusunda sıfır deneyiminiz varsa, bu derin alana dalmadan önce belgenizin altında biraz bilgi sahibi olmak isteyebilirsiniz. Ama en azından bu şeyler hakkında temel bir fikriniz varsa, şeyleri olabildiğince basit bir şekilde açıklamaya çalışacağım, böylece takip edebilirsiniz.

Temel olarak yaptığımız şey, ham Android kaynak kodunun (AOSP) indirilmesi ve beğenimize göre değiştirilmesidir. Farklı cihazlar için seçim yapabileceğiniz çok fazla kaynak olduğu için, bu kılavuz sadece AOSP (Android Açık Kaynak Projesi) olarak bilinen ana kaynağa referans verecektir .

Şimdi AOSP ile ilgili olan şey, saf kaynak kodun cihaza özgü donanım ürünlerini içermemesidir . Teknik açıdan, fotoğraf makineniz ve GPU'nuz gibi donanımlar, AOSP ile geliştirirken kutudan çıkmayacaktır. Aslında, cihazınız bu donanım ikili dosyaları olmadan bile önyükleme yapmayacaktır.

Google markalı bir telefon (Pixel, Nexus, vb.) Için geliştirme yapıyorsanız, donanım ikili dosyalarını doğrudan Google'dan bulabilirsiniz ve bu kılavuz sizi ROM'unuza alma ve oluşturma konusunda size yol gösterecektir. Ancak, markalı bir telefon (Sony, Samsung, vb.) Için bir ROM geliştiriyorsanız, kalbinizi korusun, çünkü bir yolculuk içindesiniz.

Bazı üreticiler kendi açık kaynak projelerine sahipler veya geliştiriciler için geliştirme araçlarını piyasaya sürerken, diğer üreticiler kendi özel kodları üzerinde sıkı bir kapak tutuyorlar. İşte daha popüler üreticilerin açık kaynaklı projelerinin kısa bir listesi:

Samsung Açık Kaynak Yayın Merkezi
Sony Geliştirici Dünyası
Lenovo Desteği
Huawei Açık Kaynak Yayın Merkezi
Motorola Geliştiricileri

Bu yolla, bir Google Pixel cihazı için en temel, vanilya Android deneyimi için bir ROM oluşturduğumuz varsayımı altında devam edelim. Kemerinizdeki bu bilgi ile kendi başınıza dalıp özel üreticinin ROM'larının özelleştirilmiş versiyonlarını geliştirmeye başlayabilirsiniz.

Bu Kılavuzun Gereksinimleri:

  • Android Açık Kaynak Projesi
  • Pixel XL telefon veya Linux için bir Android emülatörü
  • 64-bit Linux İşletim Sistemi - Ubuntu ya da Linux Nane en yeni kullanıcı dostu dağıtımlardır, oysa BBQLinux özellikle Android geliştiricileri göz önünde bulundurularak geliştirilmiştir.
  • piton
  • Etsiz bir bilgisayar (derleme kodu çok fazla bellek ve alan gerektirir!)

Oluşturma Ortamınızı Kurma

Linux makinenizde Android emülatörünü kurarak başlayalım. Google Pixel XL cihazınız olsun veya olmasın, cihazınıza yanıp sönmeden önce Android ROM'unuzdaki yeni ROM'unuzu denemek her zaman daha güvenlidir. Benim kişisel favorim Genymotion, bu yüzden o belirli emülatörün kurulumunu yapacağım. Bununla birlikte, çoğu aynı zamanda Linux uyumluluğuna sahip olduğu için, bu kılavuzu Windows için En İyi Android Emülatörlerine de bakabilirsiniz.

Genymotion web sitesine gidin, bir hesap kaydedin, e-postayla doğrulayın ve yürütülebilir dosyayı Linux masaüstünüze indirin.

Şimdi bir Linux terminali açın ve şunu yazın:

Chmod + x genymotion-xxxxx.bin (dosya adındaki sürüm numarası ile xxxx değiştirin)
./genymotion-xxxxxx.bin

Genymotion dizinini oluşturmak için Y düğmesine basın. Şimdi terminale yazın:

cd genymotion && ./genymotion

Şimdi yükleme işlemine başlamanızı isteyecektir, bu yüzden Sanal Cihazlar Ekle penceresine ulaşıncaya kadar İleri'yi tıklamanız yeterli olacaktır. Aygıt Modeli seçeneği altındaki Pixel XL'yi seçin ve sonra yüklemeyi tamamlayın. Sanal cihazı istediğiniz gibi test edebilirsiniz, temelde masaüstünüzde bir Pixel XL telefona sahip olmak gibi olacaktır.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Şimdi Python'u kuralım:

$ apt-get install python

Şimdi, Linux makinenizde Java Geliştirme Kiti'ni kurmamız gerekiyor. Linux terminalini açın ve aşağıdaki komutları yazın:

$ sudo apt-get güncellemesi
$ sudo apt-get install openjdk-8-jdk

Artık, USB cihazının erişmesine izin vermek için Linux sistemini yapılandırmanız gerekecek. Linux terminalinde aşağıdaki kodu çalıştırın:

Bu, önceden bahsedilen USB cihaz erişimine izin veren gerekli 51-android.txt dosyasını indirecektir. .txt dosyasını açın ve Linux kullanıcı adınızı içerecek şekilde değiştirin, ardından .txt dosyasını aşağıdaki konuma yerleştirin: ( root kullanıcısı olarak ). Şimdi yeni kuralların otomatik olarak yürürlüğe girmesi için cihazınızı USB üzerinden bilgisayarınıza takın.

Android Kaynağını indiriliyor

AOSP, Git'te barındırılıyor, bu yüzden Git ile iletişim kurmak için Repo adında bir araç kullanacağız.

Öncelikle Giriş dizininizde bir / bin klasörü kurmamız gerekiyor. Linux terminaline aşağıdaki komutları yazın:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Şimdi Repo aracını indireceğiz, böylece Linux terminaline yazalım:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Repo yüklendikten sonra, şimdi çalışma dosyalarınızı saklamak için boş bir dizin oluşturmamız gerekiyor. Bunu Linux terminaline yazınız:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Artık Git'i adınız ve e-posta adresiniz ile yapılandıracağız - düzenli olarak kontrol ettiğiniz bir Gmail adresi kullanın, aksi takdirde Gerrit kod inceleme aracını kullanamazsınız.

$ git config –global user.name Adınız
$ git config –global user.email [email protected]

Şimdi Repo'ya Git'ten en son AOSP tezahürünü göstermesini söyleyeceğiz:

$ repo init -u https://android.googlesource.com/platform/manifest

Başarılı bir şekilde yapılırsa, Repo'nun çalışma dizininizde başlatıldığına dair bir mesaj alırsınız. Ayrıca, istemci dizininin içinde bir .repo dizini bulacaksınız. Şimdi Android kaynak ağacını şununla indireceğiz:

$ repo senkronizasyonu

Android Kaynağını Oluşturma

Bu kılavuzun başında bahsedilen donanım ikilileri burada devreye giriyor. AOSP sürücüleri sayfasına gidelim ve Android 7.1.0 (NDE63P) için Pixel XL ikili dosyalarını indirelim. Hem satıcı görüntüsünü hem de donanım bileşenlerini indirmek istiyorsunuz. Bunlar sıkıştırılmış arşivler olarak gelir, bu yüzden bunları masaüstünüze ayıklayın ve kendi kendine ayıklanan komut dosyasını kök klasörden çalıştırın. İkili dosyaları daha önce oluşturduğumuz WORKING_DIRECTORY köküne kurmayı seçin.

Şimdi Linux terminalinize yazın:

$ make clobber
$ source build / envsetup.sh

Şimdi oluşturulacak hedefi seçeceğiz, bu yüzden şunu yazın:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Orada, kaynaklardan bir Android ROM inşa ettik. Bu yüzden, terminale yazarak, emülatörde test edelim:

$ emülatörü

Yani emülatörde biraz oynayın. Görebildiğiniz gibi, tamamen vanilyalı bir Android deneyimi oldukça azdır ve bu yüzden üreticiler AOSP'yi kendi ihtiyaçlarına göre uyarlamaktadır. Bu yüzden, eğer isterseniz sadece cihazınıza inşa ettiğimiz bu ROM'u flaş edebilirsiniz, ancak herhangi bir geliştirme eklemeden sadece bir vanilya Android deneyimi gerçekten çok sıkıcı olacaktır.

Üreticilerin tipik olarak AOSP ile yapabilecekleri, kendi özel ikili dosyalarını ekleyebilecekleri, UI'yi özelleştirebilecekleri, bir açılış logosu ekleyecekleri, vb. Üreticinin temel olarak sadece stok Android ROM'unu boyaması ve böylece bir sonraki hedefiniz olacak. .

Bu kılavuzun ikinci kısmı, yazı tiplerini, temaları ve ROM'unuza bir önyükleme animasyonu ekleyerek gitmeye devam edin!

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Facebook Twitter Google Plus Pinterest