Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menambahkan resource aplikasi

Resource aplikasi seperti bitmap dan tata letak disusun ke dalam direktori spesifik-jenis di dalam direktori res/ setiap modul. Anda juga dapat menambahkan versi alternatif dari setiap file yang dioptimalkan untuk berbagai konfigurasi perangkat (seperti versi bitmap resolusi tinggi untuk layar kepadatan tinggi).

Android Studio membantu Anda menambahkan resource baru dan resource alternatif melalui beberapa cara, tergantung jenis resource yang ingin ditambahkan. Halaman ini menjelaskan cara menambahkan file resource dasar, cara mengubah lokasi resource, dan cara menggabungkan resource.

Sebaiknya baca juga halaman berikut untuk mengetahui detail tentang cara membuat jenis resource spesifik:

Untuk informasi tentang cara mereferensikan resource dari kode aplikasi Anda, lihat Menyediakan resource.

Menambahkan file resource XML

Meskipun halaman yang ditautkan di atas menjelaskan alur kerja yang disesuaikan dengan setiap jenis resource, Anda dapat menambahkan file resource XML apa saja dengan mengikuti langkah-langkah berikut:

  1. Klik modul aplikasi target pada jendela Project (selagi dalam tampilan Android atau Project), lalu pilih File > New > Android resource file.

  2. Lengkapi detail dalam dialog:
    • File name: Ketik nama untuk file XML (akhiran .xml tidak diperlukan).
    • Resource type: Pilih jenis resource yang ingin Anda buat.
    • Root element: Jika ada, pilih elemen XML root untuk file itu. Beberapa jenis resource hanya mendukung satu jenis elemen root, jadi bergantung pada jenis yang dipilih di atas, nilai ini mungkin tidak dapat diedit.
    • Set sumber: Pilih set sumber tempat Anda ingin menyimpan file.
    • Directory name: Direktori harus dinamai dengan cara yang spesifik untuk jenis resource dan qualifier konfigurasi. Jadi, Anda tidak boleh mengedit ini kecuali jika Anda ingin menambahkan qualifier konfigurasi ke nama direktori secara manual (sebagai gantinya, lihat Available qualifiers).
    • Available qualifiers: Bukan lagi mengetik pengontrol kualitas konfigurasi untuk direktori tata letak, Anda dapat menambahkannya dengan mengklik pengontrol kualitas dari daftar di sebelah kiri, lalu mengklik Add .
  3. Setelah Anda menambahkan semua pengontrol kualitas yang diinginkan, klik OK.

Tips: Klik kanan direktori resource yang sudah ada dalam folder res, lalu pilih New > type-name resource file. Cara ini akan membuka versi sederhana dialog New Resource File yang khusus untuk jenis resource yang Anda inginkan.

Tips: Beberapa resource yang kompleks memerlukan banyak file resource XML. Misalnya, vector drawable animasi memiliki sebuah objek vector drawable dan sebuah objek animasi, yang membutuhkan setidaknya tiga file XML. Anda dapat menyimpan ketiga file XML berbeda ini jika perlu menggunakan kembali salah satu atau beberapa dari ketiganya. Namun, jika file XML tersebut hanya digunakan untuk vector drawable animasi ini saja, Anda dapat menggunakan format resource inline yang disediakan dalam Android Asset Packaging Tool (AAPT). Dengan AAPT, Anda dapat menetapkan ketiga resource ini dalam satu file XML. Untuk informasi lebih lanjut, lihat Resource XML Kompleks Inline.

Menambahkan direktori resource

Jika perlu menambahkan direktori resource baru, ikuti langkah-langkah berikut:

  1. Klik modul aplikasi target pada jendela Project, lalu pilih File > New > Android resource directory.

  2. Lengkapi detail dalam dialog:
    • Directory name: Direktori harus dinamai dengan cara yang spesifik untuk jenis resource dan kombinasi qualifier konfigurasi. Jadi, Anda tidak boleh mengedit ini kecuali jika Anda ingin menambahkan qualifier konfigurasi ke nama direktori secara manual (sebagai gantinya, lihat Available qualifiers).
    • Resource type: Pilih jenis resource yang ingin Anda buat.
    • Source set: Pilih set sumber tempat Anda ingin menyertakan tata letak.
    • Available qualifiers: Bukan lagi mengetik pengontrol kualitas konfigurasi untuk direktori tata letak, Anda dapat menambahkannya dengan mengklik pengontrol kualitas dari daftar di sebelah kiri, lalu mengklik Add .
  3. Setelah Anda menambahkan semua pengontrol kualitas yang diinginkan, klik OK.

Mengubah direktori resource

Secara default, resource Anda terletak di module-name/src/source-set-name/res/. Misalnya, resource untuk set sumber utama modul Anda terletak di src/main/res/, sedangkan resource untuk set sumber debug terletak di src/debug/res/.

Namun, Anda dapat mengubah jalur ini ke lokasi lain mana pun (relatif terhadap file build.gradle) dengan properti res.srcDirs dalam blok sourceSets {}. Contoh:

android {
        sourceSets {
            main {
                res.srcDirs = ['resources/main']
            }
            debug {
                res.srcDirs = ['resources/debug']
            }
        }
    }
    

Anda juga dapat menentukan beberapa direktori resource untuk satu set sumber, dan fitur build akan menggabungkannya bersama. Contoh:

android {
        sourceSets {
            main {
                res.srcDirs = ['res1', 'res2']
            }
        }
    }
    

Untuk informasi lebih lanjut, baca tentang set sumber.

Penggabungan resource

Resource dalam file APK akhir Anda dapat berasal dari 3 sumber berbeda:

Jika semua resource dari setiap set sumber atau library sudah unik, semua resource tersebut akan ditambahkan ke APK akhir. Resource dianggap unik jika nama filenya unik dalam direktori jenis resource-nya dan juga dalam qualifier resource-nya (jika ditentukan).

Jika ada dua atau lebih versi yang cocok untuk sumber yang sama, maka hanya satu versi yang disertakan dalam APK akhir. Fitur build akan memilih versi mana yang dipertahankan berdasarkan urutan prioritas berikut (dimulai dari prioritas tertinggi):

varian build > jenis build > ragam produk > set sumber utama > dependensi library

Misalnya, jika kumpulan sumber utama berisi:

  • res/layout/foo.xml
  • res/layout-land/foo.xml

Dan jenis build debug berisi:

  • res/layout/foo.xml

APK akhir akan menyertakan res/layout/foo.xml dari jenis build debug dan res/layout-land/foo.xml dari kumpulan sumber utama.

Namun, jika konfigurasi build Anda menetapkan beberapa folder resource untuk kumpulan sumber tertentu dan terdapat konflik antara resource tersebut, error akan terjadi dan penggabungan akan gagal karena setiap direktori resource memiliki prioritas yang sama.