Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Mengunduh Sumber

Pohon sumber Android terletak di repositori Git yang dihosting oleh Google. Repositori Git termasuk metadata untuk sumber Android, termasuk perubahan pada sumber dan kapan perubahan dilakukan. Halaman ini menjelaskan cara mengunduh hierarki sumber untuk baris kode Android tertentu.

Untuk memulai dengan gambar pabrik untuk perangkat tertentu alih-alih mengunduh sumbernya, lihat Memilih pembuatan perangkat .

Menginisialisasi klien Repo

Setelah menginstal Peluncur Repo , atur klien Anda untuk mengakses repositori sumber Android:

  1. Buat direktori kosong untuk menyimpan file kerja Anda. Jika Anda menggunakan macOS, ini harus pada sistem file case-sensitive. Berikan nama yang Anda suka:

    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    
  2. Konfigurasikan Git dengan nama asli dan alamat email Anda. Untuk menggunakan alat peninjau kode Gerrit, Anda memerlukan alamat email yang terhubung dengan akun Google terdaftar . Pastikan ini adalah alamat langsung tempat Anda dapat menerima pesan. Nama yang Anda berikan di sini muncul di atribusi untuk pengiriman kode Anda.

    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
    
  3. Jalankan repo init untuk mendapatkan versi Repo terbaru dengan perbaikan bug terbaru. Anda harus menentukan URL untuk manifes, yang menentukan di mana berbagai repositori yang termasuk dalam sumber Android ditempatkan dalam direktori kerja Anda.

    repo init -u https://android.googlesource.com/platform/manifest
    

    Catatan: jika repo init gagal pada macOS karena kesalahan sertifikat, Anda mungkin perlu menjalankan terlebih dahulu:

    # macOS only
    open /Applications/Python\ 3.6/Install\ Certificates.command
    

    Untuk memeriksa cabang selain master , tentukan dengan -b . Untuk daftar cabang, lihat Tag kode sumber dan bangunan .

    repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
    

Jika menggunakan Git versi 2.19 atau lebih tinggi, Anda dapat menentukan --partial-clone saat melakukan repo init yang akan memanfaatkan kemampuan tiruan sebagian Git, yang hanya mengunduh objek Git saat dibutuhkan alih-alih mengunduh semuanya. Karena menggunakan klon parsial berarti bahwa banyak operasi perlu berkomunikasi dengan server, ini direkomendasikan untuk pengembang yang menggunakan jaringan dengan latensi rendah:

repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone

Inisialisasi yang berhasil diakhiri dengan pesan yang menyatakan bahwa Repo diinisialisasi di direktori kerja Anda. Direktori klien Anda sekarang harus berisi direktori .repo tempat file seperti manifes disimpan.

Mengunduh hierarki sumber Android

Untuk mengunduh pohon sumber Android ke direktori kerja Anda dari repositori seperti yang ditentukan dalam manifes default, jalankan:

repo sync

File sumber Android terletak di direktori kerja Anda di bawah nama proyek mereka. Untuk mempercepat sinkronisasi, gunakan flag -j threadcount . Juga pertimbangkan untuk menambahkan -qc untuk melakukan sinkronisasi cabang yang sunyi dan aktif saja. Lihat Referensi Perintah Repo untuk lebih jelasnya.

Menggunakan otentikasi

Secara default, akses ke kode sumber Android adalah anonim. Untuk melindungi server dari penggunaan berlebihan, setiap alamat IP dikaitkan dengan kuota.

Saat berbagi alamat IP dengan pengguna lain (misalnya, ketika mengakses repositori sumber dari luar firewall NAT), kuota dapat memicu bahkan untuk pola penggunaan reguler (misalnya, jika banyak pengguna menyinkronkan klien baru dari alamat IP yang sama dalam suatu periode singkat).

Dalam hal ini, Anda dapat menggunakan akses terautentikasi, yang kemudian menggunakan kuota terpisah untuk setiap pengguna, terlepas dari alamat IP.

Langkah pertama adalah membuat kata sandi dengan pembuat kata sandi dan ikuti instruksi pada halaman kata sandi pembuat.

Langkah kedua adalah memaksa akses terautentikasi dengan menggunakan manifes URI https://android.googlesource.com/a/platform/manifest . Perhatikan bagaimana awalan direktori /a/ memicu otentikasi wajib. Anda dapat mengonversi klien yang ada untuk menggunakan otentikasi wajib dengan perintah berikut:

repo init -u https://android.googlesource.com/a/platform/manifest

Memecahkan masalah jaringan

Saat mengunduh dari belakang proxy (yang umum di beberapa lingkungan perusahaan), Anda mungkin perlu menentukan secara eksplisit proxy yang kemudian digunakan oleh Repo:

export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>

Lebih jarang, klien Linux mengalami masalah konektivitas, macet di tengah unduhan (biasanya saat menerima objek ). Dilaporkan bahwa mengubah pengaturan TCP / IP stack dan menggunakan perintah non-paralel dapat memperbaiki situasi. Anda memerlukan akses root untuk mengubah pengaturan TCP:

sudo sysctl -w net.ipv4.tcp_window_scaling=0
repo sync -j1

Menggunakan cermin lokal

Ketika menggunakan beberapa klien, terutama dalam situasi di mana bandwidth jarang, lebih baik untuk membuat mirror lokal dari seluruh konten server, dan untuk menyinkronkan klien dari mirror itu (yang tidak memerlukan akses jaringan). Pengunduhan untuk mirror penuh lebih kecil daripada pengunduhan dua klien, sembari mengandung lebih banyak informasi.

Instruksi ini mengasumsikan bahwa mirror dibuat di /usr/local/aosp/mirror . Pertama, buat dan sinkronkan cermin itu sendiri. Perhatikan tanda --mirror , yang hanya dapat Anda tentukan saat membuat klien baru:

mkdir -p /usr/local/aosp/mirror
cd /usr/local/aosp/mirror
repo init -u https://android.googlesource.com/mirror/manifest --mirror
repo sync

Saat cermin disinkronkan, Anda dapat membuat klien baru darinya. Perhatikan bahwa penting untuk menentukan jalur absolut:

mkdir -p /usr/local/aosp/master
cd /usr/local/aosp/master
repo init -u /usr/local/aosp/mirror/platform/manifest.git
repo sync

Akhirnya, untuk menyinkronkan klien dengan server, sinkronkan cermin dengan server, lalu klien dengan cermin:

cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master
repo sync

Dimungkinkan untuk menyimpan mirror pada server LAN dan untuk mengaksesnya melalui NFS, SSH, atau Git. Dimungkinkan juga untuk menyimpannya di drive yang dapat dilepas dan melewati drive itu di antara pengguna atau mesin.

Memverifikasi tag Git

Muat kunci publik berikut ke dalam basis data kunci GnuPG Anda. Kunci digunakan untuk menandatangani tag beranotasi yang mewakili rilis.

gpg --import

Salin dan tempel tombol di bawah ini, lalu ketik EOF ( Ctrl-D ) untuk mengakhiri input dan memproses kunci.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

Setelah mengimpor kunci, Anda dapat memverifikasi tag apa pun dengan:

git tag -v TAG_NAME

Dapatkan binari berpemilik

AOSP tidak dapat digunakan hanya dari kode sumber murni dan membutuhkan pustaka eksklusif terkait perangkat keras tambahan untuk dijalankan, seperti untuk akselerasi grafik perangkat keras. Lihat bagian di bawah ini untuk tautan unduhan dan binari Perangkat untuk sumber daya tambahan.

Unduh binari berpemilik

Anda dapat mengunduh binari resmi untuk perangkat yang didukung yang menjalankan cabang rilis AOSP yang ditandai dari driver Google . Binari ini menambah akses ke kapabilitas perangkat keras tambahan dengan kode sumber non-terbuka. Untuk membangun cabang master AOSP, gunakan Binary Preview sebagai gantinya. Saat membangun cabang master untuk perangkat, gunakan binari untuk rilis bernomor terbaru atau dengan tanggal terbaru.

Ekstrak binari berpemilik

Setiap set biner datang sebagai skrip yang mengekstraksi sendiri dalam arsip terkompresi. Hapus kompresi setiap arsip, jalankan skrip self-extracting yang disertakan dari akar pohon sumber, lalu konfirmasikan Anda setuju dengan ketentuan perjanjian lisensi terlampir. Binari dan file makefile yang cocok akan diinstal pada vendor/ hierarki dari source tree.

Membersihkan

Untuk memastikan binari yang baru diinstal dengan benar diperhitungkan setelah diekstraksi, hapus output yang ada dari bangunan sebelumnya menggunakan:

make clobber