Menyiapkan pengembangan AOSP (2.3 - 8.0)

Halaman ini membahas cara menyiapkan pengembangan dengan Android 8.0 atau versi lebih rendah. Untuk mempelajari cara mem-build Android 9.0 dan lebih tinggi, lihat Menyiapkan pengembangan AOSP .

Menyiapkan pengembangan AOSP (5.0 - 8.0)

Untuk Android 5.0 hingga 8.0, pertimbangkan untuk menggunakan Dockerfile yang disertakan untuk memudahkan instalasi semua paket yang diperlukan.

Sistem operasi

Android biasanya dibangun dengan GNU Linux. Dimungkinkan juga untuk membangun Android di mesin virtual pada sistem yang tidak didukung seperti Mac OS X.

Google merekomendasikan untuk membangun di GNU Linux. Sistem build Android biasanya menjalankan ART di mesin build untuk melakukan prakompilasi file DEX sistem. ART hanya dapat berjalan di Linux, sehingga sistem build melewatkan langkah prakompilasi ini pada sistem operasi non-Linux, sehingga menghasilkan build Android dengan performa yang berkurang.

GNU Linux

  • Android 6.0 - Android 8.0: Ubuntu 14.04 (Terpercaya)
  • Android 5.x: Ubuntu 12.0

Mac OS X (Intel/x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) atau lebih baru dengan Xcode 4.5.2 dan Alat Baris Perintah
  • Android 5.x: Mac OS X v10.8 (Mountain Lion) dengan Xcode 4.5.2 dan Alat Baris Perintah

JDK

Menyiapkan pengembangan AOSP (2.3 - 4.4)

Bagian ini memberikan beberapa panduan tentang cara menyiapkan Android 2.3 hingga Android 4.4.

Sistem operasi

Android biasanya dibangun dengan GNU Linux. Android juga dapat dibangun di mesin virtual pada sistem yang tidak didukung seperti Windows.

Google merekomendasikan untuk membangun di GNU Linux. Sistem build Android biasanya menjalankan ART di mesin build untuk melakukan prakompilasi file DEX sistem. ART hanya dapat berjalan di Linux, sehingga sistem build melewatkan langkah prakompilasi ini pada sistem operasi non-Linux, sehingga menghasilkan build Android dengan performa yang berkurang.

GNU Linux

  • Android 2.3.x - Android 4.4: Ubuntu 12.04 (Tepat)

Mac OS X (Intel/x86)

  • Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow Leopard) atau Mac OS X v10.7 (Lion) dan Xcode 4.2 (Alat Pengembang Apple)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) atau Mac OS X v10.6 (Snow Leopard) dan Mac OS X v10.5 SDK

buatan GNU

Untuk Android 4.1.x hingga 4.4 gunakan GNU make (gmake) 3.82 . Untuk Android 2.3 hingga 4.0.x, kembalikan dari gmake 3.82 untuk menghindari kesalahan build.

Xcode dan paket lainnya

Untuk Mac OS X v10.8 atau lebih rendah, instal Xcode dari situs pengembang Apple . Jika Anda belum terdaftar sebagai pengembang Apple, Anda harus membuat ID Apple untuk mengunduh.

Jika menggunakan Mac OS X v10.4, instal juga Bison:

POSIXLY_CORRECT=1 sudo port install bison

Untuk MacPorts, terbitkan:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Untuk Homebrew, terbitkan:

brew install gmake libsdl git gnupg2

Kembali dari gmake 3.82

Di Android 4.0.x dan lebih rendah, gmake 3.82 memiliki bug yang mencegah pembuatan Android. Anda dapat menginstal versi 3.81 menggunakan MacPorts dengan langkah-langkah berikut:

  1. Edit /opt/local/etc/macports/sources.conf dan tambahkan file:///Users/Shared/dports di atas baris rsync .

  2. Buat direktori dports :

    mkdir /Users/Shared/dports
    
  3. Di direktori dports baru, jalankan:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Buat indeks port untuk repositori lokal baru Anda:

    portindex /Users/Shared/dports
    
  5. Instal versi gmake yang lebih rendah:

    sudo port install gmake @3.81
    

JDK

JDK untuk Linux

Proyek Sumber Terbuka Android (AOSP) hadir dengan versi OpenJDK bawaan dalam prebuilts/jdk/ sehingga tidak diperlukan instalasi tambahan.

Versi Android sebelumnya memerlukan instalasi JDK terpisah. Di Ubuntu, gunakan OpenJDK

Untuk Ubuntu 15.04 dan lebih tinggi

Jalankan yang berikut ini:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Untuk Ubuntu LTS 14.04

Tidak ada paket OpenJDK 8 yang didukung untuk Ubuntu 14.04. Paket Ubuntu 15.04 OpenJDK 8 telah berhasil digunakan dengan Ubuntu 14.04. Versi paket yang lebih tinggi (misalnya, untuk 15.10, 16.04) tidak berfungsi pada 14.04 menggunakan petunjuk berikut.

  1. Unduh paket .deb untuk arsitektur 64-bit dari old-releases.ubuntu.com

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb dengan SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb dengan SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb dengan SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. Secara opsional, konfirmasikan checksum file yang diunduh terhadap string SHA256 yang terdaftar pada setiap paket dari langkah 1. Misalnya, dengan alat sha256sum :

    sha256sum {downloaded.deb file}
    
  3. Instal paket:

    sudo apt-get update
    
  4. Jalankan dpkg untuk setiap file .deb yang Anda unduh. Ini mungkin menghasilkan kesalahan karena ketergantungan yang hilang:

    sudo dpkg -i {downloaded.deb file}
    
  5. Untuk memperbaiki dependensi yang hilang:

    sudo apt-get -f install
    

(Opsional) Perbarui versi Java default

Secara opsional, untuk versi Ubuntu yang disebutkan sebelumnya, perbarui versi Java default dengan menjalankan:

sudo update-alternatives --config java
sudo update-alternatives --config javac

Instal paket yang diperlukan untuk Ubuntu 14.04

Jalankan perintah berikut untuk menginstal paket yang diperlukan untuk Ubuntu 14.04:

$ 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$

Instal paket yang diperlukan untuk Ubuntu 12.04

Jalankan perintah berikut untuk menginstal paket yang diperlukan untuk Ubuntu 12.04:

$ 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