Save the date! Android Dev Summit is coming to Sunnyvale, CA on Oct 23-24, 2019.

Ringkasan project

Sebuah project dalam Android Studio berisi segala hal yang mendefinisikan ruang kerja Anda untuk aplikasi, dari kode sumber dan aset, hingga kode pengujian dan konfigurasi build. Bila Anda memulai project baru, Android Studio akan membuat struktur yang diperlukan untuk semua file dan membuatnya terlihat di jendela Project di sebelah kiri IDE (klik View > Tool Windows > Project). Halaman ini menyediakan ringkasan komponen utama di dalam project Anda.

Modul

Sebuah modul adalah kumpulan file sumber dan setelan build yang memungkinkan Anda membagi project ke dalam beberapa unit fungsionalitas diskret. Project Anda bisa memiliki satu atau beberapa modul dan satu modul dapat menggunakan modul lain sebagai dependensi. Setiap modul bisa dibangun, diuji, dan di-debug secara independen.

Modul tambahan sering kali berguna saat membuat library kode dalam project Anda sendiri atau bila Anda ingin membuat set kode dan sumber daya berbeda untuk beragam tipe perangkat, misalnya ponsel dan perangkat wearable, tetapi menyimpan semua file cakupan dalam project yang sama dan berbagi sebagian kode.

Anda bisa menambahkan modul baru ke project dengan mengklik File > New > New Module.

Android Studio menawarkan beberapa tipe modul yang khas:

Modul aplikasi Android
Menyediakan container untuk kode sumber aplikasi Anda, file sumber daya, dan setelan level aplikasi misalnya file build level modul dan file manifes Android. Bila Anda membuat project baru, nama modul default adalah "app".

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

  • Phone & Tablet Module
  • Wear OS Module
  • Android TV Module
  • Glass Module

Masing-masing menyediakan file esensial dan beberapa template kode yang sesuai untuk aplikasi atau tipe perangkat yang bersangkutan.

Untuk informasi selengkapnya mengenai penambahan modul, baca Menambahkan Modul untuk Perangkat Baru.

Modul library
Menyediakan container untuk kode yang bisa digunakan kembali, yang bisa Anda gunakan sebagai dependensi dalam modul aplikasi lain atau diimpor ke dalam project lain. Secara struktural, modul library sama seperti modul aplikasi, tetapi bila telah di-build, akan membuat file arsip kode sebagai ganti APK, jadi tidak bisa diinstal di perangkat.

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

  • Android Library: Tipe library ini bisa berisi semua jenis file yang didukung dalam project Android, termasuk kode sumber, sumber daya, dan file manifes. Hasil build adalah sebuah file Android Archive (AAR) yang bisa Anda tambahkan sebagai dependensi bagi modul aplikasi Android.
  • Java Library: Tipe library ini hanya bisa berisi file sumber Java. Hasil build adalah sebuah file Java Archive (JAR) yang bisa Anda tambahkan sebagai dependensi bagi modul aplikasi Android atau project Java lainnya.
Modul Google Cloud
Menyediakan container untuk kode backend Google Cloud Anda. Modul ini memiliki kode dan dependensi yang diperlukan untuk backend Java App Engine yang menggunakan HTTP biasa, Cloud Endpoints, dan Cloud Messaging untuk menghubungkan ke aplikasi Anda. Anda bisa mengembangkan backend untuk menyediakan layanan cloud yang dibutuhkan aplikasi Anda.

Penggunaan Android Studio untuk mengembangkan modul Google Cloud memungkinkan Anda mengelola kode aplikasi dan kode backend dalam project yang sama. Anda juga bisa menjalankan dan menguji kode backend secara lokal, dan menggunakan Android Studio untuk menerapkan modul Google Cloud.

Untuk informasi selengkapnya mengenai menjalankan dan menerapkan modul Google Cloud, lihat Menjalankan, Menguji, dan Menerapkan Backend.

Sebagian orang juga merujuk modul sebagai sub-project dan itu boleh saja, karena Gradle juga merujuk modul sebagai project. Misalnya, jika Anda membuat modul library dan ingin menambahkannya sebagai dependensi ke modul aplikasi Android, Anda harus menyatakannya seperti berikut:

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

File project

Secara default, Android Studio menampilkan file project Anda dalam tampilan Android. Tampilan ini tidak mencerminkan hierarki file sesungguhnya di disk, melainkan tersusun menurut modul dan jenis file untuk menyederhanakan navigasi di antara file sumber utama project Anda, dengan menyembunyikan file atau direktori tertentu yang tidak umum digunakan. Sebagian perubahan struktural yang dibandingkan dengan struktur pada disk termasuk yang berikut ini:

  • Menampilkan semua file konfigurasi yang menyangkut build project dalam grup Gradle Script tingkat teratas.
  • Menampilkan semua file manifes untuk setiap modul dalam grup level modul (bila Anda memiliki beberapa file manifes berbeda untuk beberapa ragam produk dan tipe build).
  • Menampilkan semua file sumber daya alternatif dalam grup tunggal, sebagai ganti dalam folder terpisah per qualifier sumber daya. Misalnya, semua versi kepadatan ikon peluncur Anda terlihat berdampingan.

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

manifests
Berisi file AndroidManifest.xml.
java
Berisi file kode sumber Java, dipisahkan oleh nama package, termasuk kode pengujian JUnit.
res
Berisi semua sumber daya non-kode, seperti layout XML, string UI, dan gambar bitmap, yang dibagi ke dalam beberapa sub-direktorinya. Untuk informasi selengkapnya tentang semua tipe resource yang memungkinkan, lihat Menyediakan Sumber Daya.

Tampilan project Android

Untuk melihat struktur file sesungguhnya dari suatu project termasuk semua file tersembunyi dari tampilan Android, pilih Project dari menu drop-down di bagian atas jendela Project.

Bila Anda memilih tampilan Project, Anda bisa melihat banyak file dan direktori lainnya. Yang terpenting di antaranya adalah sebagai berikut:

module-name/
build/
Berisi keluaran build.
libs/
Berisi library pribadi.
src/
Berisi semua file sumber daya dan kode untuk modul dalam subdirektori berikut:
androidTest/
Berisi kode untuk pengujian instrumentasi yang dijalankan pada perangkat Android. Untuk informasi selengkapnya, lihat dokumentasi Pengujian Android.
main/
Berisi file sourceset "main": sumber daya dan kode Android yang digunakan bersama oleh semua varian build (file untuk varian build lainnya berada dalam direktori saudara, misalnya src/debug/ untuk tipe debug build).
AndroidManifest.xml
Menjelaskan sifat aplikasi dan masing-masing komponennya. Untuk informasi selengkapnya, lihat dokumentasi AndroidManifest.xml.
java/
Berisi sumber kode Java.
jni/
Berisi kode asli yang menggunakan Java Native Interface (JNI). Untuk informasi selengkapnya, lihat dokumentasi Android NDK.
gen/
Berisi file Java yang dihasilkan oleh Android Studio, misalnya file R.java Anda dan antarmuka yang dibuat dari file AIDL.
res/
Berisi sumber daya aplikasi, misalnya file yang dapat digambar, file layout, dan string UI. Lihat Sumber Daya Aplikasi untuk informasi selengkapnya.
assets/
Berisi file yang harus dikompilasi menjadi file .apk apa adanya. Anda bisa menuju direktori ini dengan cara yang sama seperti pada sistem file umumnya dengan menggunakan URI dan membaca file sebagai deretan byte dengan menggunakan AssetManager . Misalnya, inilah lokasi yang bagus untuk data game dan tekstur.
test/
Berisi kode untuk pengujian lokal yang dijalankan pada JVM host Anda.
build.gradle (modul)
Ini mendefinisikan konfigurasi build spesifik modul.
build.gradle (project)
Ini mendefinisikan konfigurasi build Anda yang berlaku pada semua modul. File ini integral pada project, jadi Anda harus menyimpannya dalam kontrol revisi bersama semua kode sumber lainnya.

Untuk informasi tentang file build lainnya, lihat Mengonfigurasi Build Anda.

Setelan struktur project

Untuk mengubah beragam setelan pada project Android Studio, buka dialog Project Structure dengan mengklik File > Project Structure. Isinya adalah bagian-bagian berikut:

  • SDK Location: Menyetel lokasi JDK, Android SDK, dan Android NDK yang digunakan project Anda.
  • Project: Menyetel versi untuk Gradle dan Android Plugin for Gradle, serta nama lokasi repositori.
  • Developer Services: Berisi setelan untuk komponen add-in Android Studio dari Google atau pihak ketiga lainnya. Lihat Developer Services, di bawah.
  • Modules: Memungkinkan Anda mengedit konfigurasi build spesifik modul, termasuk SDK minimum dan target, tanda tangan aplikasi, dan dependensi library. Lihat Modul, di bawah.

Developer services

Bagian Developer Services pada kotak dialog Project Structure berisi halaman konfigurasi untuk sejumlah layanan yang bisa Anda gunakan bersama aplikasi. Bagian ini berisi halaman berikut:

  • Google AdMob: Memungkinkan Anda mengaktifkan komponen Google AdMob, yang akan membantu Anda memahami pengguna dan menampilkan iklan yang disesuaikan untuk mereka.
  • Analytics: Memungkinkan Anda mengaktifkan Google Analytics, yang akan membantu Anda mengukur interaksi pengguna dengan aplikasi Anda di beragam perangkat dan lingkungan.
  • Authentication: Memungkinkan pengguna menggunakan Login dengan Google untuk login ke aplikasi Anda dengan akun Google mereka.
  • Cloud: Memungkinkan Anda mengaktifkan layanan berbasis cloud Firebase bagi aplikasi Anda.
  • Notifications: Memungkinkan Anda menggunakan Google Cloud Messaging untuk berkomunikasi antara aplikasi dan server Anda.

Mengaktifkan salah satu layanan ini dapat menyebabkan Android Studio menambahkan dependensi dan izin yang diperlukan ke aplikasi Anda. Setiap halaman konfigurasi mencantumkan tindakan ini dan tindakan lainnya yang akan dilakukan Android Studio jika Anda mengaktifkan layanan terkait.

Modul

Bagian setelan Modules memungkinkan Anda mengubah opsi konfigurasi untuk setiap modul project Anda. Setiap halaman setelan modules dibagi ke dalam tab-tab berikut:

  • Properties: Menetapkan versi SDK dan fitur build yang digunakan untuk mengompilasi modul.
  • Signing: Menetapkan sertifikat yang akan digunakan untuk menandatangani APK Anda.
  • Flavors: Memungkinkan Anda membuat beberapa ragam build, dengan masing-masing ragam menetapkan seperangkat setelan konfigurasi, misalnya versi SDK minimum dan target modul, serta kode versi dan nama versi. Misalnya, Anda dapat mendefinisikan satu ragam yang memiliki SDK minimum 15 dan SDK target 21, serta ragam lainnya yang memiliki SDK minimum 19 dan SDK target 23.
  • Build Types: Memungkinkan Anda membuat dan memodifikasi konfigurasi build, seperti yang dijelaskan dalam Mengonfigurasi Build Gradle. Secara default, setiap modul memiliki tipe build debug dan release, tetapi Anda bisa mendefinisikan yang lainnya bila perlu.
  • Dependencies: Mencantumkan library, file, dan dependensi modul untuk modul ini. Anda bisa menambahkan, memodifikasi, dan menghapus dependensi dari panel ini. Untuk informasi selengkapnya tentang dependensi modul, lihat Mengonfigurasi Build Gradle.