Android kaynağının main
dalını indirip derlemeden önce
ve donanımınızın gerekli gereksinimleri karşıladığından ve yazılım için gerekli
düzgün şekilde yüklenmiştir. Ayrıca aşağıdaki terimlere de aşina olmanız gerekir:
- Git
- Git, ücretsiz ve açık kaynaklı bir dağıtılmış sürüm kontrol sistemidir. Android; dallara ayırma, kaydetme, fark oluşturma gibi yerel işlemler için Git'i kullanır. görebilirsiniz. Git'i öğrenme konusunda yardım almak için Git dokümanlarına bakın.
- Kod deposu
- Repo, Git etrafında kullanılan, performansı kolaylaştıran bir Python sarmalayıcıdır birden fazla Git deposunda karmaşık işlemler yapmanıza olanak tanır. Depo, Git'in yerini almıyor tüm sürüm kontrol işlemleri için yalnızca karmaşık Git işlemlerini kolaylaştırır yardımcı olur. Repo, Git projelerini Google Ads API'sinde toplamak için manifest dosyalarını Android süper projesi.
- Manifest dosyası
- Manifest dosyası, komut dosyasında çeşitli Git projelerinin Android kaynağı bir AOSP kaynak ağacına yerleştirilir. ziyaret edin.
Donanım gereksinimlerini karşılayın
Geliştirme iş istasyonunuz şu donanımı karşılamalı veya aşmalı: koşullar:
64 bit x86 sistem.
Ödeme yapmak ve kodu derlemek için en az 400 GB boş disk alanı (Çıkış için 250 GB + derleme için 150 GB).
En az 64 GB RAM. Google, 64 GB depolama alanına sahip 72 çekirdekli makineler kullanır gereken RAM'e sahip. Bu donanım yapılandırmasıyla birlikte tam Android derlemesi için yaklaşık 40 dakika, artımlı Android sürümü için sadece birkaç dakika. Buna karşın, bir dönüşüm için yaklaşık 6 saat ve 64 GB RAM'e sahip 6 çekirdekli bir makineyle tam derleme.
İşletim sistemi gereksinimlerini karşılayın
Geliştirme iş istasyonunuz GNU C ile tüm 64 bit Linux dağıtımlarını çalıştırmalıdır Kitaplık (glibc) 2.17 veya sonraki sürümler.
Gerekli paketleri yükleyin
Android 11 veya sonraki bir sürümü derlemek için Ubuntu 18.04 veya sonraki bir sürümü kullanmanız gerekir. Yüklemek için Ubuntu 18.04 veya sonraki sürümler için gereken paketler için aşağıdaki komutu çalıştırın:
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
Bu komut, yüklenen paketler arasında AOSP kaynağını indirin.
Gerekli yazılımı yükleyin
AOSP ile çalışabilmek için öncelikle OpenJDK, Make, Python 3 ve Repo. Android'in AOSP ana kolunda OpenJDK, Make ve Python 3'ün önceden oluşturulmuş sürümlerine sahip olduğundan gerekmez. Aşağıdaki bölümde Repo'nun nasıl yükleneceği açıklanmaktadır.
Depo'yu yükleme
Repo'yu yüklemek için şu adımları uygulayın:
Mevcut paket bilgilerini indirin:
sudo apt-get update
Depo başlatıcıyı yüklemek için aşağıdaki komutu çalıştırın:
sudo apt-get install repo
Depo başlatıcı, ödeme işlemini başlatan bir Python komut dosyası sağlar ve Repo aracının tamamını indiriyor.
İşlem başarılı olursa 4. adıma geçin.
(İsteğe bağlı) Aşağıdaki komut dizilerini kullanarak Repo'yu manuel olarak yükleyin:
export REPO=$(mktemp /tmp/repo.XXXXXXXXX) curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65 curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
İlk üç komut bir geçici dosya oluşturur, Repo'yu dosyaya indirir ve sağlanan anahtarın gerekli anahtarla eşleştiğini doğrulayın. Bu komutlar başarılı olursa son komut Depo başlatıcıyı yükler.
Depo başlatıcı sürümünü doğrulayın:
repo version
Bu çıkışta 2.4 veya sonraki bir sürüm belirtilmelidir. Örneğin:
repo launcher version 2.45
Alternatif bir çıkış dizini ayarlayın
Varsayılan olarak her derlemenin çıkışı şu dizinin out/
alt dizininde depolanır:
eşleşen kaynak ağacıdır.
OUT_DIR
ortam değişkeni. Örneğin, çıkışınızı
farklı bir sürücüde OUT_DIR
varsa o sürücüye yönlendirebilirsiniz:
export OUT_DIR=my_other_drive
Sırada ne var?
- Kaynak kodu indirmek için Android kaynağını indirme bölümüne geçin.
- Git'i öğrenme konusunda yardım almak için Git dokümanlarına göz atın.
- Ek Depo dokümanları için Repo README'yi inceleyin.
- Tüm Repo komutlarının listesi için şuraya bakın: Depo komut referansı.