AOSP: Download Source Code Android
Source Android terletak di repositori Git yang di host oleh Google. Dalam Git repositori termasuk metadata untuk source Android, termasuk yang terkait dengan perubahan source dan tanggal mereka dibuat. Bagian ini menjelaskan cara men-download source untuk code-line Android tertentu.
Installing Repo
Repo adalah tool yang dibuat agar lebih mudah untuk bekerja dengan Git dalam konteks Android. Untuk menginstalasi repo, pastikan ada directory bin/ di home directory anda dan masuk dalam path,
$ mkdir ~/bin $ PATH=~/bin:$PATH
Download tool repo dan pastikan bisa di run,
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
Inisialisasi Repo Client
Setelah menginstalasi repo, setup client anda untuk mengakses Android source directory, caranya,
Buat sebuah directory kosong untuk menyimpan file android anda, misalnya,
$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY
atau
$ mkdir android-source $ cd android-source
Mengkonfigurasi git dengan nama asli dan alamat email. Untuk menggunakan Gerrit code-review tool, kita akan memerlukan sebuah alamat email yang terhubung dengan akun Google yang terdaftar. Pastikan ini adalah alamat hidup di mana kita dapat menerima pesan. Nama yang kita berikan di sini akan muncul di atribusi untuk pengajuan kode Anda.
$ git config --global user.name "Your Name" $ git config --global user.email "you@example.com"
Jalankan repo init untuk mengambil versi terbaru dari repo dengan semua perbaikan bug yang terbaru. Anda harus menentukan URL untuk manifest, yang menentukan di mana berbagai repositori termasuk dalam source Android akan ditempatkan di dalam direktori kerja Anda.
$ repo init -u https://android.googlesource.com/platform/manifest
Perintah di atas akan menginisialisasi source code untuk mengambil versi terbaru. Untuk memeriksa cabang selain "master", tentukan dengan -b.
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.3.1_r1
atau
$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r38
Untuk daftar lengkap branch, dapat dilihat Source Code Tag and Build pada URL http://source.android.com/source/build-numbers.html#source-code-tags-and-builds. Beberapa Code Tag yang penting, antara lain adalah,
Code Tag Version android-7.1.1_r13 Nougat android-6.0.1_r77 Marshmallow android-5.1.1_r38 Lollipop android-4.4.4_r2 KitKat android-4.3.1_r1 Jelly Bean android-4.0.4_r2.1 Ice Cream Sandwich android-2.3.7_r1 Gingerbread android-2.2.3_r2 Froyo
Sebuah inisialisasi berhasil akan berakhir dengan pesan yang menyatakan bahwa Repo diinisialisasi di direktori kerja Anda. direktori klien Anda sekarang harus berisi direktori .repo dimana file seperti manifes akan disimpan. Download Android Source Tree Untuk mengambil source Android ke direktori kerja Anda dari repositori sebagaimana ditentukan dalam manifes default, jalankan
$ repo sync
Source code Android akan berlokasi di direktori kerja Anda dengan nama proyek mereka. Operasi sinkronisasi awal akan memakan waktu satu jam atau lebih untuk bisa selesai. Sementara mendownload source code android menggunakan repo sync akan memakan waktu lama amat sangat lama sekali, penulis dengan menggunakan indihome kadang-kadang harus menunggu 1-2 hari untuk menyelesaikan download source code android.
Cara yang paling sederhana agar dapat menghemat waktu yang dibutuhkan adalah mengcopykan source code repository yang sudah ada sebelum mendownload source code yang lebih baru.
Misalkan, kita sudah men-download source code lama (contoh, android-2.2_r1.1), kita dapat mengcopykan ke folder source code yang baru, sehingga kita cukup mendownload hanya perbedaannnya saja, contoh,
$ mkdir android-2.3 $ cd android-2.3/ $ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.4_r1 $ cp -R ../android-2.2_r1.1/.repo/projects .repo/ $ repo sync
Jika kita boleh / bisa menimpa directory yang lama, maka dapat juga melakukan perintah berikut,
$ mv android-2.2_r1.1 android-2.3 $ cd android-2.3 $ repo init -b android-2.3.4_r1 $ repo sync
Repo dapat dijalankan secara paralel, seperti perintah “make” menggunakan opsi “-j”. Pada dasarnya repo mempunyai opsi tersebut,
$ repo sync -h Usage: repo sync [...] Options: -h, --help show this help message and exit -f, --force-broken continue sync even if a project fails to sync -l, --local-only only update working tree, don't fetch -n, --network-only fetch only, don't update working tree -d, --detach detach projects back to manifest revision -q, --quiet be more quiet -j JOBS, --jobs=JOBS number of projects to fetch simultaneously -s, --smart-sync smart sync using manifest from a known good build repo Version options: --no-repo-verify do not verify repo source code
Jika anda ingin menjalankan 4 job sekaligus, hati-hati ini akan banyak memakan bandwidth, dapat menggunakan perintah,
$ repo sync -j4
Untuk lebih lanjut tentang repo sync dan perintah Repo lainnya, lihat bagian Mengembangkan. menggunakan Otentikasi.