Ringkasan project

Sebuah project di Android Studio berisi semua hal yang mendefinisikan ruang kerja untuk aplikasi, dari kode sumber dan aset hingga kode pengujian dan konfigurasi build.

Saat memulai project baru, Android Studio akan membuat struktur yang diperlukan untuk semua file dan membuatnya terlihat di jendela Project di Android Studio. Untuk membuka jendela ini, pilih View > Tool Windows > Project.

Halaman ini menyediakan ringkasan komponen utama di dalam project Anda.

Modul

Modul adalah kumpulan file sumber dan setelan build yang memungkinkan Anda membagi project ke dalam unit fungsi terpisah. Project dapat memiliki satu atau beberapa modul, dan satu modul dapat menggunakan modul lain sebagai dependensi. Anda dapat membuat, menguji, dan men-debug setiap modul secara terpisah.

Modul tambahan berguna saat membuat library kode dalam project Anda sendiri atau jika ingin membuat set kode dan resource berbeda untuk berbagai jenis perangkat, seperti ponsel dan perangkat wearable, tetapi menyimpan semua file yang tercakup dalam project yang sama dan berbagi sebagian kode.

Untuk menambahkan modul baru ke project, klik File > New > New Module.

Android Studio menawarkan beberapa jenis modul berbeda:

Modul aplikasi Android
Menyediakan container untuk kode sumber aplikasi, file resource, dan setelan level aplikasi seperti file build level modul dan file Manifes Android. Saat membuat project baru, modul aplikasi default akan diberi nama "app".

Android Studio menawarkan jenis modul aplikasi berikut:

  • Ponsel & Tablet
  • Otomotif
  • Wear OS
  • Televisi
  • Generator Profil Dasar Pengukuran
  • Benchmark

Setiap modul menyediakan file penting dan beberapa template kode yang sesuai untuk setiap aplikasi atau jenis perangkat.

Untuk mengetahui informasi selengkapnya tentang penambahan modul, baca Menambahkan modul untuk perangkat baru.

Modul fitur
Mewakili fitur termodulasi aplikasi yang dapat memanfaatkan Penayangan Fitur Play. Misalnya, dengan modul fitur, Anda dapat menyediakan fitur tertentu di aplikasi secara on demand atau sebagai pengalaman instan kepada pengguna melalui Google Play Instan.

Android Studio menawarkan jenis modul fitur berikut:

  • Modul Fitur Dinamis
  • Modul Library Fitur Dinamis Instan

Untuk mempelajari lebih lanjut, baca Play Feature Delivery.

Modul library
Menyediakan container untuk kode yang dapat digunakan kembali, yang dapat digunakan sebagai dependensi dalam modul aplikasi lain atau diimpor ke dalam project lain. Secara struktural, modul library sama seperti modul aplikasi, tetapi setelah dibangun, modul akan membuat file arsip kode dan bukan APK, sehingga tidak dapat diinstal di perangkat.

Di jendela Create New Module, Android Studio menawarkan jenis modul library berikut:

  • Android Library: Berisi semua jenis file yang didukung dalam project Android kecuali kode C++ native, termasuk kode sumber, resource, serta file manifes Java dan Kotlin. Hasil build-nya adalah file Android Archive (AAR) yang dapat Anda tambahkan sebagai dependensi untuk modul aplikasi Android.
  • Android Native Library: Berisi semua jenis file yang didukung dalam project Android, mirip dengan Android Library. Namun, Android Native Library juga dapat berisi kode sumber C++ native. Hasil build-nya adalah file Android ARchive (AAR) yang dapat ditambahkan sebagai dependensi untuk modul aplikasi Android.
  • Library Java atau Kotlin: Hanya berisi file sumber Kotlin atau Java. Hasil build-nya adalah file Java Archive (JAR) yang dapat ditambahkan sebagai dependensi untuk modul aplikasi Android atau project Kotlin atau Java lainnya.

Modul terkadang disebut sebagai subproject karena Gradle juga merujuk modul sebagai project.

Jika Anda membuat modul library dan ingin menambahkannya sebagai dependensi ke modul aplikasi Android, Anda harus mendeklarasikannya seperti berikut:

Groovy

dependencies {
    implementation project(':my-library-module')
}

Kotlin

dependencies {
    implementation(project(":my-library-module"))
}

File project

Secara default, Android Studio menampilkan file project dalam tampilan Android. Tampilan ini tidak mencerminkan hierarki file sesungguhnya pada disk. Sebaliknya, file ini diatur berdasarkan modul dan jenis file untuk menyederhanakan navigasi antar-file sumber utama project dengan menyembunyikan file atau direktori tertentu yang tidak umum digunakan.

Beberapa perbedaan struktural antara tampilan Android dan struktur pada disk terletak pada tampilan Android:

  • Menampilkan semua file konfigurasi terkait build pada project dalam grup Gradle Script level teratas.
  • Menampilkan semua file manifes untuk setiap modul dalam grup level modul jika Anda memiliki file manifes berbeda untuk berbagai ragam produk dan jenis build.
  • Menampilkan semua file resource alternatif dalam grup tunggal, bukan dalam folder terpisah per penentu resource. Misalnya, semua versi kepadatan ikon peluncur terlihat berdampingan.

Dalam setiap modul aplikasi Android, file ditampilkan dalam grup-grup berikut:

manifests
Berisi file AndroidManifest.xml.
java
Berisi file kode sumber Kotlin dan Java yang dipisahkan menurut nama paket, termasuk kode pengujian JUnit.
res
Berisi semua resource non-kode, seperti string UI dan gambar bitmap, yang dibagi ke dalam subdirektori masing-masing. Untuk mengetahui informasi selengkapnya tentang jenis resource yang memungkinkan, lihat Ringkasan resource aplikasi.

Tampilan Project

Untuk melihat struktur file project sesungguhnya termasuk semua file yang disembunyikan dari tampilan Android, pilih Project dari menu yang ada di bagian atas jendela Project.

Jika memilih tampilan Project, Anda dapat melihat banyak file dan direktori lainnya, seperti berikut ini:

module-name/
build/
Berisi output build.
libs/
Berisi library pribadi.
src/
Berisi semua file kode dan resource untuk modul dalam subdirektori berikut:
androidTest/
Berisi kode untuk uji instrumentasi yang dijalankan di perangkat Android. Untuk mengetahui informasi selengkapnya, lihat Pengujian di Android Studio.
cpp/
Berisi kode C atau C++ native yang menggunakan Java Native Interface (JNI). Untuk mengetahui informasi selengkapnya, lihat dokumentasi Android NDK.
main/
Berisi file set sumber "utama": kode dan resource Android yang digunakan bersama oleh semua varian build (file untuk varian build lain berada dalam direktori yang seinduk, seperti src/debug/ untuk jenis build debug):
AndroidManifest.xml
Menjelaskan sifat aplikasi dan setiap komponennya. Untuk mengetahui informasi selengkapnya, lihat ringkasan manifes aplikasi.
java/
Berisi sumber kode Kotlin atau Java, atau keduanya, jika aplikasi Anda memiliki kode sumber Kotlin dan Java.
kotlin/
Hanya berisi sumber kode Kotlin.
res/
Berisi resource aplikasi, seperti file drawable dan file string UI. Untuk mengetahui informasi selengkapnya, lihat ringkasan resource aplikasi.
assets/
Berisi file yang akan dikompilasi menjadi file APK apa adanya. Misalnya, lokasi ini bagus untuk tekstur dan data game. Anda bisa menyusuri direktori ini dengan cara yang sama seperti pada sistem file umumnya menggunakan URI dan membaca file sebagai aliran byte menggunakan AssetManager
test/
Berisi kode untuk pengujian lokal yang dijalankan di JVM host.
build.gradle atau build.gradle.kts (modul)
Mendefinisikan konfigurasi build khusus modul. build.gradle adalah nama file yang benar jika Anda menggunakan Groovy sebagai bahasa skrip build, sedangkan jika Anda menggunakan skrip Kotlin, nama file yang benar adalah build.gradle.kts.
build.gradle atau build.gradle.kts (project)
Mendefinisikan konfigurasi build yang berlaku untuk semua modul. build.gradle adalah nama file yang benar jika Anda menggunakan Groovy sebagai bahasa skrip build, sedangkan jika Anda menggunakan skrip Kotlin, nama file yang benar adalah build.gradle.kts. File ini tidak dapat dipisahkan dengan project. Jadi, pertahankan file ini dalam kontrol revisi bersama semua kode sumber lainnya.

Untuk mengetahui informasi tentang file build lainnya, lihat Mengonfigurasi build.

Setelan struktur project

Untuk mengubah berbagai setelan pada project Android Studio, buka dialog Project Structure dengan mengklik File > Project Structure. Dialog ini berisi bagian-bagian berikut:

  • Project: Menetapkan versi untuk Gradle dan plugin Android Gradle serta nama lokasi repositori.
  • SDK Location: Menetapkan lokasi JDK, Android SDK, dan Android NDK yang digunakan project.
  • Variables: Memungkinkan Anda mengedit variabel yang digunakan dalam skrip build.
  • Modules: Memungkinkan Anda mengedit konfigurasi build khusus modul, seperti SDK minimum dan target, tanda tangan aplikasi, dan dependensi library. Setiap halaman setelan modul dibagi ke dalam tab berikut:
    • Properties: Menentukan versi SDK dan alat build yang digunakan untuk mengompilasi modul.
    • Penandatanganan: Menentukan sertifikat yang akan digunakan untuk menandatangani aplikasi.
  • Dependencies: Mencantumkan library, file, dan dependensi modul untuk modul ini. Anda dapat menambahkan, mengubah, dan menghapus dependensi dari panel ini. Untuk mengetahui informasi selengkapnya tentang dependensi modul, lihat Mengonfigurasi varian build.

  • Build Variants: Memungkinkan Anda mengonfigurasi berbagai ragam dan jenis build untuk project Anda.

    • Flavors: Memungkinkan Anda membuat beberapa flavors (ragam) build, dengan setiap ragam menentukan sekumpulan setelan konfigurasi, seperti versi SDK minimum dan target, serta kode versi dan nama versi.

      Misalnya, Anda mungkin dapat mendefinisikan satu ragam yang memiliki SDK minimum 21 dan SDK target 29, dan ragam lain yang memiliki SDK minimum 24 dan SDK target 33.

    • Build Types: Memungkinkan Anda membuat dan memodifikasi konfigurasi build seperti yang dijelaskan dalam Mengonfigurasi varian build. Secara default, setiap modul memiliki jenis build debug dan rilis, dan Anda dapat mendefinisikan yang lainnya jika perlu.