AOSP geliştirme için kurulum (2.3 - 8.0)

Bu sayfada, Android 8.0 veya daha eski sürümlerde geliştirme için nasıl kurulum yapılacağı açıklanmaktadır. Android 9.0 ve sonraki sürümlerin nasıl oluşturulacağını öğ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-8.0 sürümlerinde, gerekli tüm paketlerin yüklenmesini kolaylaştırmak için birlikte verilen Dockerfile'ı kullanabilirsiniz.

İşletim sistemleri

Android genellikle GNU Linux ile oluşturulur. Ayrıca, Mac OS X gibi desteklenmeyen sistemlerdeki bir sanal makinede Android'i oluşturmak da mümkündür.

Google, GNU Linux üzerinde geliştirme yapmanızı önerir. Android derleme sistemi, sistem DEX dosyalarını önceden derlemek için normalde derleme makinesinde ART'yi çalıştırır. ART yalnızca Linux'ta çalışabilir. Bu nedenle, derleme sistemi Linux olmayan işletim sistemlerinde bu önceden derleme adımını atlar ve performansın düşürüldüğü 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 v10.8 (Mountain Lion)

JDK

AOSP geliştirme için kurulum (2.3 - 4.4)

Bu bölümde, Android 2.3 ile Android 4.4 arasındaki sürümlerin nasıl ayarlanacağıyla ilgili bazı bilgiler verilmektedir.

İşletim sistemleri

Android genellikle GNU Linux ile oluşturulur. Android'i Windows gibi desteklenmeyen sistemlerdeki sanal makinede de oluşturabilirsiniz.

Google, GNU Linux üzerinde geliştirme yapmanızı önerir. Android derleme sistemi, sistem DEX dosyalarını önceden derlemek için normalde derleme makinesinde ART'yi çalıştırır. ART yalnızca Linux'ta çalışabilir. Bu nedenle, derleme sistemi Linux olmayan işletim sistemlerinde bu önceden derleme adımını atlar ve performansın düşürüldüğü 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 v10.6 (Snow Leopard) veya Mac OS X v10.7 (Lion) ve Xcode 4.2 (Apple Developer Tools)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) veya Mac OS X v10.6 (Snow Leopard) ve Mac OS X v10.5 SDK

GNU make

Android 4.1.x - 4.4 sürümlerinde GNU make (gmake) 3.82'yi kullanın. Android 2.3-4.0.x sürümlerinde derleme hatalarını önlemek için gmake 3.82'den önceki sürüme geri dönün.

Xcode ve diğer paketler

Mac OS X v10.8 veya önceki sürümlerde 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 şu komutu verin:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Homebrew için şu komutu girin:

brew install gmake libsdl git gnupg2

gmake 3.82'den geri dönme

Android 4.0.x ve önceki sürümlerde gmake 3.82'de Android'in oluşturulmasını engelleyen bir hata vardır. 3.81 sürümünü MacPorts ile yüklemek için aşağıdaki adımları uygulayın:

  1. /opt/local/etc/macports/sources.conf simgesini düzenleyin ve rsync satırının üzerine file:///Users/Shared/dports simgesini ekleyin.

  2. dports dizinini oluşturun:

    mkdir /Users/Shared/dports
    
  3. Yeni dports dizininde şunu çalıştırın:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Yeni yerel deponuz için bir bağlantı noktası dizini oluşturun:

    portindex /Users/Shared/dports
    
  5. gmake'in eski sürümünü yükleyin:

    sudo port install gmake @3.81
    

JDK

Linux için JDK

prebuilts/jdk/ içinde OpenJDK'nın önceden oluşturulmuş sürümlerini içeren Android Açık Kaynak Projesi (AOSP) için ek kurulum gerekmez.

Android'in önceki sürümlerinde JDK'nın ayrı olarak yüklenmesi gerekir. Ubuntu'da OpenJDK'yi kullanın.

Ubuntu 15.04 ve sonraki sürümler için

Aşağıdaki 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 mevcut değil. Ubuntu 15.04 OpenJDK 8 paketleri, Ubuntu 14.04 ile başarıyla kullanılmıştır. Daha yüksek paket sürümleri (örneğin, 15.10, 16.04) aşağıdaki talimatlar kullanılarak 14.04'te çalışmaz.

  1. 64 bit mimari için .deb paketlerini old-releases.ubuntu.com adresinden indirin.

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb SHA256 ile 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb SHA256 ile 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb SHA256 ile 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. İsteğe bağlı olarak, indirilen dosyaların sağlama toplamlarını 1. adımda her pakette listelenen SHA256 dizesiyle karşılaştırarak doğrulayın. Örneğin, sha256sum aracıyla:

    sha256sum {downloaded.deb file}
    
  3. Paketleri yükleyin:

    sudo apt-get update
    
  4. İndirdiğiniz .deb dosyalarının her biri için dpkg komutunu çalıştırın. Eksik bağımlılıklar nedeniyle hatalar oluşabilir:

    sudo dpkg -i {downloaded.deb file}
    
  5. Eksik bağımlılık sorununu 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 bahsedilen Ubuntu sürümlerinde varsayılan Java sürümünü güncellemek için şu komutu çalıştırın:

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