Android, dünyada en yaygın kullanılan mobil işletim sistemidir. Ve en iyi yanı, tamamen açık kaynak olması, sıradan terimlerle, Kaynak Kodunun, asıl programın herkesin indirmesi, özelleştirmesi ve kendi ROM'larını oluşturması için açık olduğu anlamına gelir.
Popüler olanlar CyanogenMod, SlimROM, Paranoid Android, AOKP, Liquid Smooth, MIUI, Xylon, Ice Cold Jelly vb.
Bugünün kılavuzu için, en popüler Android satış sonrası ROM'u olan CyanogenMod 10.2'yi derleyeceğiz. Prosedür, tüm özel ROM'lar için %99 aynıdır, bu nedenle bu kılavuz, diğer ROM'ları derlemek için bir referans olarak kullanılabilir.
Ön koşul
- Halihazırda kullanılabilir Çekirdek ve Cihaz Kaynağına sahip, zaten köklü ve özel kurtarma yüklenmiş bir Android Telefon.
- 64 bit Linux Dağıtımı (Ubuntu'yu tercih ediyoruz).
- Sabit Diskinizde En Az 100 GB boş.
- Linux Terminal Komutlarının çalışma bilgisi.
- Oldukça hızlı internet bağlantısı.
Dikkat Edilecek Nokta: 64 bit Linux işletim sistemi bir zorunluluktur ve bir Sanal Makine değil, yerel bir kurulum olmalıdır.
Yapı Makinenizi Kurun
1. İstediğiniz Linux işletim sistemini kurun: Resmi talimatlara göre 64 bit sürüm. (Kılavuz, Ubuntu 13.04 çalıştırdığımızı varsayacaktır). 100GB Swap Partition ile en az 16GB'lık bir bölüm tutun.
2. Aşağıdaki paket listesini kurun: Terminal uygulamasını açın ve yazın
[html]sudo apt-get kurulumu [/html]
enter'a basın ve sizden şifrenizi isteyecektir.
paket listesi
[html]
git-çekirdek
gnupg
esnek
bizon
piton
rar
orijinal-awk
ahmak
p7zip-dolu
gperf
libsdl1.2-dev
libesd0-dev
libwxgtk2.6-dev
squashfs araçları
temel yapı
zip
kıvırmak
libncurses5-dev
zlib1g-dev
pngcrush
zamanlama aracı
libc6-dev
x11proto-çekirdek-geliştirme
libx11-dev
libg11-mesa-dev
Mingw32
tofrodos
python-işaretleme
libxml2-utils
g++-multilib
lib32z1-dev
ia32-lib'ler
lib32ncurses5 dev
lib32readline-gplv2-dev
gcc-multilib
g++-multilib
xsltproc
[/ html]
3. Linux 1.6-bit için Java JDK 64'yı yükleyin: Dosya adı jdk-6u##-linux-x64.bin olmalıdır, ## sürüm numaralarıdır. İndirilen paketi ana dizininize taşıyın. Terminal uygulamasını açın ve aşağıdaki komut dizisini çalıştırın:
[html]
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
sudo mkdir –p /opt/java/64/
sudo cp jdk-6u##-linux-x64.bin /opt/java/64
güneye -
cd /opt/java/64
chmod a+x jdk-6u##-linux-x64.bin
./jdk-6u##-linux-x64.bin
çıkış
[/ html]
Şimdi, .bashrc'ye JDK Yolu eklemeliyiz
[html]
sudo gedit ~ / .bashrc
[/ html]
Bu satırları metin dosyasının sonuna ekleyin
[html]
# Java Yolu
Java_HOME'u dışa aktar=/opt/Java/64/jdk1.6.0_##
dışa aktar YOL=$YOL:$Java_HOME/bin
[/ html]
4. Android SDK'yı yükleyin: Terminal Uygulamasını Açın
[html]
cd ~
mkdir android && cd android
mkdir sdk'si
[/ html]
Android SDK'yı şuradan indirin: http://developer.android.com/sdk/index.html. Paket içeriğini ~/android/sdk dizinine çıkarın .bashrc dosyasına Android SDK yolu eklemeliyiz
[html]
sudo gedit ~ / .bashrc
[/ html]
Bu satırları metin dosyasının sonuna ekleyin:
[html]
# Android SDK Yolu
YOLU dışa aktar=$YOL:~/android/sdk
YOLU dışa aktar=$YOL:~/android/sdk/platform-tools
YOLU dışa aktar=$YOL:~/android/sdk/tools
[/ html]
Şimdi yazarak Android SDK Araçlarını yükleyin
[html]
android
[/ html]
5. Github hesabınızı ve uzak deponuzu kurun: CyanogenMod telefonunuzu resmi olarak destekliyorsa bu adımı atlayabilirsiniz. github.com'a gidin ve kendinize bir hesap açın. Bu kılavuz için kullanıcı adınızı 'kullanıcı' olarak görüyorum.
'github.com/CyanogenMod/android' adresini ziyaret edin, Fork'a basın. Uzak bildirim çatallanacak ve kişisel deponuzda mevcut olacak.
Şimdi 'github.com/user/android' adresine gidin. default.xml dosyasını açın, Düzenle'ye basın. Bu satırı bulun:
[html]
[/ html]
Ve bunu şununla değiştir
[html]
[/ html]
Android 4.3 için cihazınızın çekirdek kaynağı, cihaz kaynağı ve satıcı kitaplıklarının olmasını düşünüyorum.
[html]
github.com/user2/kernel_source
github.com/user2/device_source
github.com/user2/device-common_source
github.com/user2/vendor
[/ html]
Şubenin 'jb4.3' olarak adlandırılacağını varsayıyorum. Tam adı asıl depoda bulabilirsiniz. Ardından, dosyanın sonuna bu satırları ekleyerek cihazınızın kaynak koduna göre değiştirin.
[html]
[/ html]
Değişikliklerinizi taahhüt edin. Uzak bildiriminiz dağıtılmaya hazır.
6. Repo Komutunu Yükleyin: Terminali açın ve yazın
[html]
cd ~
mkdir ~ / bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
[/ html]
.bashrc'ye Repo yolu eklemeliyiz
[html]
sudo gedit ~ / .bashrc
[/ html]
Bu satırı metin dosyasının sonuna ekleyin
[html]
dışa aktar YOL=$YOL:~/bin
[/ html]
7. ROM kaynak kodunu alın: Terminali açın ve yazın
[html]
mkdir ~/android/cm
cd ~/android/cm
[/ html]
Adım 5'e ihtiyacınız varsa, yazın
[html]
repo başlangıcı –u git://github.com/user/android.git –b cm-10.2
[/ html]
Cihazınız resmi olarak CyanogenMod 10.2'yi destekliyorsa, yazın
[html]
repo başlatma –u git://github.com/CyanogenMod/android.git –b cm-10.2
[/ html]
Şimdi koş
[html]
depo senkronizasyonu –j16
[/ html]
Git bir kahve al ya da yemek, uzun zaman alacak. Kaynak kodun boyutu 10 GB'ın çok üzerindedir, bu nedenle biraz zaman alacaktır.
8. Cihaza Özel Öğeleri Ayarlayın: Cihazınız resmi olarak CyanogenMod 10.2'yi destekliyorsa, Terminal'i açın ve şunu yazın
[html]
cd ~/android/cm
. build/envsetup.sh && kahvaltı
[/ html]
Biraz zaman alacak, cihaz kaynağının boyutu yaklaşık 3GB. Ardından, telefonunuzda resmi CM10.2'nin kurulu olması, PC'nize USB Hata Ayıklama modunda bağlamanız ve aşağıdaki komutları çalıştırmanız gerekir:
[html]
adb kökü
cd ~/android/cm/cihaz/ / /
./extract-files.sh
[/ html]
Cihazınız resmi olarak CyanogenMod 10.2'yi desteklemiyorsa, bu adımda yapacak bir şeyiniz yok, kaynaklar zaten sizi bekliyor.
9. Prebuilt Stuff'ı indirin ve Toolchain'i kurun: Terminali açın ve yazın
[html]
cd ~/android/cm/satıcı/cm
sh ./get-prebuilds
[/ html]
Şimdi Toolchain PATH'i ./bashrc dizinine eklemeliyiz.
[html]
cd ~/android/cm
sudo gedit ~ / .bashrc
[/ html]
Bu satırları metin dosyasının sonuna ekleyin
[html]
# Android Araç Zinciri
ARCH'yi dışa aktar = kol
dışa aktar CCOMPILE=$CROSS_COMPILE
dışa aktar CROSS_COMPILE=arm-eabi-
dışa aktar YOL=$YOL:~/android/cm/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
[/ html]
10. ROM'unuzu oluşturun: Yani her şey yolunda ve hazır. ROM'u kurmanın zamanı geldi. Terminali açın ve yazın
[html]
cd ~/android/cm
. inşa/envsetup.sh
brunch
[/ html]
Biraz kestirme zamanı. ROM'u ortalama bir bilgisayarda oluşturmak milyon yıl alacaktır. Eh, bu bir abartıydı, ancak ev bilgisayarımda (5 GB RAM'li Core i2 8. nesil), sıfırdan oluşturmak 3 saatten fazla sürüyor. Umarım, hata olmaz ve yapı iyi tamamlanır. Çıktı paketini alacaksınız
[html]
~/android/cm/out/hedef/ürün/ /cm-10.2-bir şey-RESMİ OLMAYAN- .zip
[/ html]
Yeni derlenmiş ROM'unuzu telefonunuza kurmanın zamanı geldi. Uygun Android sürümü için Google Apps paketini “www.goo.im/gapps” adresinden indirin. Her iki paketi de telefonunuza koyun ve kurtarma modunda flaşlayın. Voila, kendi derlenmiş ROM'unuz artık cihazınızı çalıştırıyor.
Peki, bir ROM'u nasıl derleyeceğinizi öğrendiniz. Peki, şimdi ne?
Kaynak ROM'unuzu Güncelleyin
Yerel olarak indirdiğiniz kaynak kodunuza yeni kaynak kodu güncellemeleri getirmek için Terminal'i açın ve şunu yazın
[html]
cd ~/android/cm
depo senkronizasyonu –j16
[/ html]
ROM'unuzu oluşturmak için kaynak kodunu güncelledikten sonra terminali açın ve şunu yazın
[html]
cd ~/android/cm
kurulumu temiz yap
bul ./out/ -name 'build.prop' | xargs rm
bul ./out/ -name 'cm_ -target_files-eng.*.zip' | xargs rm
. inşa/envsetup.sh
brunch
[/ html]
Sıfırdan değil, olduğu gibi yeniden inşa ettiğiniz için, önemli ölçüde daha az zaman alacaktır, çoğu durumda sadece 15-30 dakika kadar. Yerel kaynağınızı taze tutmak için yerel kaynağınızı her hafta eşitlemelisiniz.
Çalışma Dizininizi Temizleyin
Çalışma dizininizi tamamen temizlemek için (okuyun: kaynak klasörünüzü stok durumuna getirin), Terminal'i açın ve aşağıdaki komutları yazın.
[html]
cd ~/android/cm
kurulumu temiz yap
çıldırmak
[/ html]
Bu komutları çalıştırdıktan sonra, tüm çıktı verilerinizin kaldırılacağını, bu nedenle her şey sıfırdan yeniden oluşturulduğu için bir sonraki derlemenin 3-4 saat süreceğini unutmayın. Sabit Disk bölümünüz küçükse, örneğin 100 GB civarındaysa, çalışma dizininizi yaklaşık her 4 derlemede bir temizlemelisiniz, yoksa Sabit Disk alanınız biter.
CCACHE ile yapınızı hızlandırın
Bir ROM oluşturmak çok zaman alır. Ancak CCACHE kullanılarak zaman yaklaşık %30-45 oranında kısaltılabilir. CCACHE, derleyici önbelleği anlamına gelir, önceki derlemelerinizin derleme çıktısını önbelleğe alır, böylece sonraki derlemelerde yeniden kullanılabilir.
CCACHE'nin içeriği önbelleğe almak için Sabit Diskinizde çok fazla alana ihtiyacı olduğunu unutmayın, bu nedenle ve yalnızca Sabit Disk bölümünüz 200 GB veya daha yüksek bir yerdeyse önerilir. CCACHE'yi kurmak için Terminal'i açın ve şunu yazın:
[html]
cd ~/android/cm
dışa aktar USE_CCACHE=1
CACHE_DIR=~/.ccache dışa aktar
önceden oluşturulmuş/çeşitli/linux-x86/ccache/ccache –M 50G
[/ html]
CCACHE'ye maksimum boyut tahsisini 50 GB'den istediğinize değiştirebilirsiniz, ancak iyi sonuçlar için minimum yaklaşık 30 GB kullanılmalıdır.
Diğer ROM'lardan Alma İşlemleri
Diğer ROM'ların kaynak kodundan özellikleri seçebilirsiniz. Örneğin, “github.com/user/reporepo” deposundan “12345” taahhüt kimliğine sahip A Özelliğini seçmek istiyorum.
Yerel kaynak kodunuzdaki pakete gidin ve bunları Terminal'de çalıştırın.
[html]
cd ~/
git getir https://github.com/user/reporepo
git kiraz toplama 12345
[/ html]
Ünlü Android Özel ROM Dağıtımlarının Kaynak Kodu Bağlantıları
CyanogenMod – https://github.com/CyanogenMod
İnceROM – https://github.com/SlimRoms
Paranoyak Android – https://github.com/ParanoidAndroid
AOK uzantısı – https://github.com/AOKP
SıvıPürüzsüz – https://github.com/liquidsmooth
ksilon ROM -
Buz Soğuk Jöle – https://github.com/IceColdJelly
İşte başlıyorsunuz çocuklar, 10 basit adımda neredeyse tüm Android AOSP tabanlı ROM'ları derlemek için basit ve anlaşılır bir kılavuz. Rehberim CyanogenMod'a odaklanırken, sadece depo bağlantılarını değiştirerek hemen hemen her AOSP ROM'u derleyebilirsiniz. Veya sadece özellikleri seçebilir, taahhüt edebilir, bir şeyleri değiştirebilir ve kendi kişiselleştirilmiş ROM'unuzu oluşturabilir, belki ROM'unuzu çevrimiçi olarak da paylaşabilirsiniz?
engin
merhaba bu yazı için teşekkürler bugün bu android dünyası bir salgın gibi yayılıyor bu yüzden güzel bir yazı
jüri ralleri
Etkileyici işler! Uygulamalarım için gerçekten kendi kodumu oluşturmak istiyorum!
Jessica
Bu kodu görmeyi gerçekten çok seviyorum ama bu kodun bir kısmını anlayamıyorum.
Shyantan borç
merhaba Shaunak,
Android gerçekten tüm dünyaya yayılmış durumda. ve bu harika yazı için teşekkürler
Susie Lampman
Harika. Şimdi keşke bu terminolojileri anlayabilseydim. Sonra android ROM'u derleyebilirim