Project Android berisi banyak file terkait build dan struktur direktori untuk mengatur sumber dan sumber daya aplikasi Anda. Sebelum mempelajari detail konfigurasi, kita akan melihat keseluruhan struktur dan dasar-dasarnya apa yang ada di setiap bagian.
Tabel ini mencantumkan file standar dalam project Android. Deskripsi setiap file atau direktori menyertakan catatan tentang jenis konten yang ada di sana. Terbaik praktik yang berkembang dari waktu ke waktu, dan deskripsi ini mungkin tidak sesuai dengan yang Anda warisi atau unduh dari internet.
Saat menulis file build, gunakan pendekatan deklaratif; logika dan tugas build seharusnya hanya muncul di plugin. Dengan membatasi logika build pada plugin, file build menjadi deklarasi data, yang lebih mudah dipahami dan pengeditan. Versi mendatang dapat menyertakan spesifikasi alternatif seperti Gradle deklaratif, yang akan mencegah logika build di .
Folder/File |
Gunakan |
---|---|
.gradle/ |
Direktori cache project Gradle Dikelola oleh Gradle dan berisi distribusi Gradle, cache project, dan file konfigurasi yang didownload. Jangan ubah file di direktori ini! |
.ide/ |
Metadata project Android Studio Jangan ubah file di direktori ini! |
build.gradle(.kts) |
Hanya boleh berisi deklarasi plugin untuk menyiapkan classpath plugin umum di seluruh subproject. Kode lain harus berada dalam setelan atau file build level project bertingkat. |
gradle.properties |
Berisi properti Gradle, mengontrol aspek lingkungan build Gradle seperti ukuran heap, caching, dan eksekusi paralel. Beberapa properti Android sementara ditentukan di sini, untuk mengurangi perubahan pada DSL AGP saat ditambahkan dan kemudian dihapus. |
gradlew (linux, Mac) gradlew.bat (Windows) |
File Wrapper Gradle Melakukan bootstrap pada build Anda dengan mendownload distribusi Gradle, lalu meneruskan perintah ke build tersebut. Hal ini memungkinkan Anda menjalankan build tanpa harus menginstal Gradle terlebih dahulu. |
local.properties |
Konfigurasi mesin lokal Berisi properti yang terkait dengan mesin lokal, seperti lokasi Android SDK. Kecualikan file ini dari kontrol sumber. |
settings.gradle(.kts) |
Berisi informasi build global untuk inisialisasi Gradle dan konfigurasi project, seperti
|
Gradle/ |
|
↳ libs.version.toml |
Mendefinisikan variabel untuk dependensi dan plugin yang digunakan dalam build Anda. Anda akan menentukan versi yang ingin digunakan di sini, sehingga memastikan konsistensi di seluruh subproject dalam project Anda. |
↳ pembungkus/ |
|
↳ gradle‐wrapper.jar |
Booting Gradle dapat dieksekusi Mendownload distribusi Gradle yang ditentukan (jika tidak ada), dan menjalankannya, dengan meneruskan argumen apa pun |
↳ gradle‐wrapper.properties |
Konfigurasi untuk Wrapper Gradle Menentukan tempat untuk mendownload distribusi Gradle (termasuk versi yang akan digunakan). |
aplikasi/ |
Subproject (dikenal sebagai "modul" di Android Studio) dapat membangun aplikasi atau library dan mungkin bergantung pada subproject atau dependensi eksternal lainnya.
|
↳ build.gradle(.kts) |
Mendeklarasikan cara membuat subproject ini. Setiap subproject memerlukan file build terpisah, dan harus berisi
Anda tidak boleh menyertakan logika build (seperti definisi atau kondisi fungsi Kotlin) atau deklarasi tugas dalam file build. Logika dan tugas build hanya boleh ada di dalam plugin. |
↳ src/ |
File sumber subproject Mengelompokkan file sumber (kode aplikasi dan resource) ke dalam set sumber. Set sumber |
↳ utama/ |
Set sumber utama Kode sumber dan resource yang umum di semua varian build. Sumber ini bertindak sebagai dasar untuk semua build, dan set sumber lainnya yang lebih spesifik ditambahkan ke atau menggantikan sumber ini. |
↳ java/ ↳ kotlin/ |
Kode sumber Kotlin dan Java Direktori |
↳ resolusi/ |
Berisi resource aplikasi, seperti gambar dan file XML. Semua aplikasi menggunakan beberapa resource dasar, seperti ikon peluncur, tetapi banyak dari resource ini, seperti tata letak dan menu, hanya digunakan di aplikasi berbasis tampilan. Aplikasi Compose menggunakan resource String yang ditentukan dalam direktori ini. |
↳ AndroidManifest.xml |
Membaca oleh pengelola paket Android untuk memberi tahu sistem
|
↳ androidTest/ |
Pengujian perangkat set sumber Berisi sumber untuk pengujian yang akan dijalankan pada emulator atau perangkat yang didukung Android. Pengujian ini memiliki akses ke lingkungan Android sesungguhnya, tetapi dijalankan lebih lambat daripada pengujian host. |
↳ pengujian/ |
Pengujian host set sumber Berisi sumber untuk pengujian yang dijalankan secara lokal di JVM, berbeda dengan pengujian yang berjalan di perangkat. Pengujian ini jauh lebih cepat dijalankan daripada pengujian perangkat. Namun, setiap panggilan sistem (termasuk siklus proses yang menjalankan aplikasi Anda) harus ditiru, dipalsukan, diberi stub, atau disimulasikan. Semua file sumber dalam set sumber |
↳ proguard-rules.pro |
Menentukan aturan untuk mengontrol penyingkatan, pengoptimalan, dan obfuscation aplikasi. R8 menghapus kode dan resource yang tidak diperlukan, mengoptimalkan performa runtime, dan lebih meminimalkan kode Anda dengan mengganti nama ID. |