AOSP Android 15'i kaynak kodlarından indirmek ve derlemek — kısa cevap

Kerem Aydın·7 Temmuz 2026·⏱2 dk

Kısaca: Resmi AOSP kaynak kodlarını repo aracıyla (android.googlesource.com) alırız, senkronize ederiz ve standart build/envsetup.sh → lunch → m zincirini çalıştırırız. Aşağıda hazır komut seti, donanım gereksinimleri ve tipik hataları çözme ipuçları yer alıyor.

Kaynak kodları nereden alınır ve nasıl indirilir

Resmi kaynak — AOSP (android.googlesource.com üzerindeki depolar). Android 15 için çalışma senaryosu:

  1. repo'yu kurun (örnek):
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
  1. Klasör oluşturun ve Android 15 dalı için manifest'i başlatın:
mkdir ~/aosp15 && cd ~/aosp15
repo init -u https://android.googlesource.com/platform/manifest -b android-15.0.0_r18
  1. Kaynak kodlarını indirin (onlarca-yüzlerce gigabayt ve saatler sürer):
repo sync -c -j$(nproc) --force-sync

Bayraklar: -c (current-branch, alan tasarrufu sağlar), -j$(nproc) — paralellik. init işleminden önce resmi AOSP sitesinde geçerli dalı kontrol edin.

Alan tasarrufu için repo sync -c ve --current-branch kullanın, ancak tam özellik seti için tam klonlama daha iyidir.

Ortam hazırlığı ve bağımlılıklar

Minimum öneriler:

  • Ubuntu 20.04+ (veya başka desteklenen bir dağıtım)
  • 16+ GB RAM (önerilen 32+), 300+ GB SSD, 8+ çekirdek CPU

Temel paketlerin kurulumu (Ubuntu/Debian örneği):

sudo apt update
sudo apt install git-core gnupg flex bison build-essential zip curl zlib1g-dev \
gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev \
x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils \
xsltproc unzip fontconfig python3 openjdk-11-jdk

Android 15 Java 11 gerektirir:

sudo apt install openjdk-11-jdk
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Rust'ta yazılmış bileşenleri (yeni derleme sistemi parçaları) derliyorsanız, rustup ve gerekli toolchain'i kurun:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install 1.75.0
rustup target add aarch64-linux-android

Adım adım derleme

  1. Derleme ortamını yapılandırın:
source build/envsetup.sh
  1. Hedefi seçin (örnek — arm64 emülatörü veya Pixel):
lunch aosp_arm64-eng          # ARM64 emülatörü
# veya
lunch aosp_cf_x86_64_phone-eng  # x86_64 emülatörü (daha hızlı)
# Pixel için — ilgili lunch hedefini kullanın (varsa)
  1. Derlemeyi başlatın:
m            # tam derleme
# veya sadece kernel derleyin:
m kernelimage

Çıktı imajları out/target/product// dizininde oluşur. Cihaza yüklemek için bootloader kilidini açın ve fastboot ile flashlayın:

fastboot flashall -w

(Belirli telefonlar için ek adımlar gerekebilir: factory image, imajların imzalanması vb.)

Cihazı flashlamak ve bootloader kilidini açmak verileri siler ve garanti kaybına yol açabilir. Yedeklerinizi alın.

Sık karşılaşılan hatalar ve çözümleri

  • Repo sync takılıyor veya çok yavaş: --force-sync ile tekrar deneyin, git zaman aşımını artırın, bağlantıyı ve disk G/Ç'sini kontrol edin.
  • Derleme sırasında yetersiz bellek: swap ekleyin (ilk derlemeler için 32 GB önerilir) veya daha fazla RAM'e sahip makine kullanın.
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
  • Java sürümü: PATH'te kesinlikle Java 11 olduğundan emin olun; Soong hataları genellikle yanlış sürümle ilgilidir.
  • Soong/Blueprint hataları: out/soong.log günlüklerini inceleyin ve detaylı izleme için m -j1 ile derlemeyi tekrarlayın.
  • JACK server: Java builder sorunu varsa:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

SSS

  • Derleme ne kadar sürer? Ortalama bir makinede ilk tam derleme 4–12 saat; kaynak kodlarını indirme 2–6 saat sürer (ağa bağlı olarak).
  • GApps gerekli mi? AOSP Google hizmetlerini içermez. Eklemek için derlemeden sonra üçüncü taraf paketleri kullanın, ancak bu AOSP kapsamının dışındadır.
  • Pixel için nasıl derlenir? İlgili lunch hedefini bulun (örneğin aosp_komodo-eng) veya özel bileşenler için üretici/bakıcı depolarını kullanın.
  • Günlükler nerede görülür? Ana günlükler: derleme konsolu, out/soong.log, out/target/product/<device>/boot.log.

Gerekirse, yapılandırmanıza (CPU, RAM, hedef cihaz) göre kesin komut setini oluşturabilir ve hangi dallar/hedefleri seçmeniz gerektiği konusunda yardımcı olabilirim.