AOSP: Download Source Code Android

From OnnoWiki
Jump to navigation Jump to search

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.