Bu sayfada, Android 8.0 veya önceki sürümlerde geliştirme için nasıl ayar yapılacağı açıklanmaktadır. Android 9.0 ve sonraki sürümleri nasıl derleyeceğinizi öğrenmek için AOSP geliştirme için kurulum başlıklı makaleyi inceleyin.
AOSP geliştirme için kurulum (5.0 - 8.0)
Android 5.0 ile 8.0 arasındaki sürümlerde gerekli tüm paketlerin yüklenmesini kolaylaştırmak için ürünle birlikte verilen Dockerfile'ı kullanabilirsiniz.
İşletim sistemleri
Android genellikle GNU Linux ile oluşturulur. Android'i Mac OS X gibi desteklenmeyen sistemlerde sanal makinede derlemek de mümkündür.
Google, GNU Linux'ta uygulama geliştirmenizi önerir. Android derleme sistemi, sistem DEX dosyalarını önceden derlemek için normalde derleme makinesinde ART'ı çalıştırır. ART yalnızca Linux'da çalışabildiğinden derleme sistemi, Linux dışındaki işletim sistemlerinde bu ön derleme adımını atlar. Bu da performansı düşük bir Android derlemesi oluşturur.
GNU Linux
- Android 6.0 - Android 8.0: Ubuntu 14.04 (Trusty)
- Android 5.x: Ubuntu 12.0
Mac OS X (Intel/x86)
- Android 6.0 - AOSP 8.0: Xcode 4.5.2 ve Komut Satırı Araçları ile Mac OS X v10.10 (Yosemite) veya sonraki sürümler
- Android 5.x: Xcode 4.5.2 ve Komut Satırı Araçları ile Mac OS X 10.8 (Mountain Lion)
JDK
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 veya sonraki sürümler
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
AOSP geliştirme için ayarlama (2.3 - 4.4)
Bu bölümde, Android 2.3 ile Android 4.4 arasındaki sürümlerin nasıl kurulacağına ilişkin bazı bilgiler verilmektedir.
İşletim sistemleri
Android genellikle GNU Linux ile oluşturulur. Ayrıca, Windows gibi desteklenmeyen sistemlerdeki bir sanal makinede de Android oluşturabilirsiniz.
Google, GNU Linux'ta derlemeyi önerir. Android derleme sistemi, sistem DEX dosyalarını önceden derlemek için normalde derleme makinesinde ART'ı çalıştırır. ART yalnızca Linux'da çalışabildiğinden derleme sistemi, Linux dışındaki işletim sistemlerinde bu ön derleme adımını atlar. Bu da performansı düşük bir Android derlemesi oluşturur.
GNU Linux
- Android 2.3.x - Android 4.4: Ubuntu 12.04 (Precise)
Mac OS X (Intel/x86)
- Android 4.1.x - Android 4.4.x: Mac OS X sürüm 10.6 (Snow Leopard) veya Mac OS X sürüm 10.7 (Lion) ve Xcode 4.2 (Apple Geliştirici Araçları)
- Android 2.3 - Android 4.0.x: Mac OS X 10.5 (Leopard) veya Mac OS X 10.6 (Snow Leopard) ve Mac OS X 10.5 SDK'sı
GNU make
Android 4.1.x ile 4.4 için GNU make (gmake) 3.82'yi kullanın. Android 2.3 ile 4.0.x arasında derleme hatalarını önlemek için gmake 3.82'den geri dönün.
Xcode ve diğer paketler
Mac OS X 10.8 veya önceki sürümler için Xcode'u Apple geliştirici sitesinden yükleyin. Apple geliştiricisi olarak kayıtlı değilseniz indirmek için Apple Kimliği oluşturmanız gerekir.
Mac OS X v10.4 kullanıyorsanız Bison'u da yükleyin:
POSIXLY_CORRECT=1 sudo port install bison
MacPorts için sorun:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
Homebrew için:
brew install gmake libsdl git gnupg2
gmake 3.82'den geri alma
Android 4.0.x ve önceki sürümlerde, gmake 3.82'de Android'in geliştirme yapmasını engelleyen bir hata bulunuyor. MacPorts'i kullanarak 3.81 sürümünü yüklemek için aşağıdaki adımları uygulayın:
/opt/local/etc/macports/sources.conf
öğesini düzenleyin versync
satırının üstünefile:///Users/Shared/dports
ekleyin.dports
dizinini oluşturun:mkdir /Users/Shared/dports
Yeni
dports
dizininde şu komutu çalıştırın:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Yeni yerel deponuz için bir bağlantı noktası dizini oluşturun:
portindex /Users/Shared/dports
gmake'nin daha eski bir sürümünü yükleyin:
sudo port install gmake @3.81
JDK
- Android 2.3.x - Android 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
Linux için JDK
Android Açık Kaynak Projesi (AOSP), prebuilts/jdk/
içinde OpenJDK'nın önceden derlenmiş sürümleriyle birlikte gelir. Bu nedenle ek yükleme gerekmez.
Android'in önceki sürümlerinde JDK'nin ayrı olarak yüklenmesi gerekir. Ubuntu'da OpenJDK'yi kullanın
Ubuntu 15.04 ve sonraki sürümler için
Şu komutu çalıştırın:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Ubuntu LTS 14.04 için
Ubuntu 14.04 için desteklenen OpenJDK 8 paketleri yoktur. Ubuntu 15.04 OpenJDK 8 paketleri, Ubuntu 14.04 ile başarıyla kullanıldı. Yüksek paket sürümleri (ör. 15.10, 16.04 için olanlar) aşağıdaki talimatlar kullanılarak 14.04'te çalışmaz.
old-releases.ubuntu.com adresinden 64 bit mimari için
.deb
paketlerini indirinopenjdk-8-jre-headless_8u45-b14-1_amd64.deb
SHA256 ile0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
- SHA256 ile
openjdk-8-jre_8u45-b14-1_amd64.deb
9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
SHA256 ile6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
İsteğe bağlı olarak, indirilen dosyaların sağlama toplamlarını 1. adımdaki her paketle birlikte listelenen SHA256 dizesiyle karşılaştırarak onaylayın. Örneğin,
sha256sum
aracıyla:sha256sum {downloaded.deb file}
Paketleri yükleyin:
sudo apt-get update
İndirdiğiniz
.deb
dosyanın her biri içindpkg
komutunu çalıştırın. Eksik bağımlılıklar nedeniyle hata oluşturabilir:sudo dpkg -i {downloaded.deb file}
Eksik bağımlılıkları düzeltmek için:
sudo apt-get -f install
(İsteğe bağlı) Varsayılan Java sürümünü güncelleme
İsteğe bağlı olarak, daha önce belirtilen Ubuntu sürümlerinde aşağıdaki komutu çalıştırarak varsayılan Java sürümünü güncelleyin:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Ubuntu 14.04 için gerekli paketleri yükleme
Ubuntu 14.04 için gerekli paketleri yüklemek üzere aşağıdaki komutları çalıştırın:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$
Ubuntu 12.04 için gerekli paketleri yükleme
Ubuntu 12.04 için gerekli paketleri yüklemek üzere aşağıdaki komutları çalıştırın:
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so