Bagaimana Cara Mengonfigurasi Pengiriman Modul Saat Aplikasi Diinstal pada Android Studio?

Modul fitur dinamis memungkinkan Anda memisahkan fungsi dan resource tertentu dari modul dasar aplikasi dan menyertakannya dalam app bundle. Melalui Pengiriman Dinamis, selanjutnya Anda dapat menyesuaikan opsi pengiriman untuk mengontrol kapan dan bagaimana perangkat yang menjalankan Android 5.0 (API level 21) atau lebih tinggi mendownload fitur aplikasi Anda.
Perhatikan bahwa jenis modularisasi ini memerlukan upaya lebih besar dan kemungkinan pemfaktoran ulang kode aplikasi yang sudah ada, jadi pertimbangkan dengan cermat fitur mana dari aplikasi Anda yang paling diuntungkan jika disediakan secara on demand bagi pengguna.
Jika Anda ingin memodulasi fitur aplikasi secara bertahap dari waktu ke waktu, tanpa mengubah perilaku aplikasi atau menyesuaikan opsi pengiriman lanjutan, Anda dapat melakukannya dengan membuat modul fitur dinamis yang dikonfigurasi untuk dikirim saat aplikasi diinstal. Itu berarti Anda dapat memodulasi sebuah fitur sebagai fitur dinamis, tetapi tidak mengaktifkan opsi lanjutan sehingga fitur tersebut hanya tersedia saat pengguna menginstal aplikasi Anda.
Selain itu, ada baiknya Anda membuat fitur dinamis yang dikonfigurasi untuk dikirim saat aplikasi diinstal, karena Anda memiliki opsi untuk meng-uninstal fitur tersebut di lain waktu jika tidak diperlukan lagi. Misalnya, untuk mengurangi ukuran terinstal aplikasi, Anda dapat memodulasi konten yang diperlukan untuk pelatihan atau aktivasi, lalu meng-uninstal modul fitur dinamis setelah pengguna siap menggunakan aplikasi Anda.
Bagian ini menjelaskan cara membuat modul fitur dinamis untuk dikirim saat penginstalan. Sebelum memulai, pastikan Anda menggunakan Android Studio 3.3 atau yang lebih baru dan Android Gradle Plugin 3.3.0 atau yang lebih baru.

Mengonfigurasi modul baru untuk dikirim saat aplikasi diinstal

Cara termudah untuk membuat modul fitur dinamis baru adalah dengan menggunakan Android Studio 3.3 atau yang lebih baru. Karena modul fitur dinamis memiliki dependensi melekat pada modul aplikasi dasar, Anda hanya dapat menambahkannya ke project aplikasi yang sudah ada.
Untuk menambahkan modul fitur dinamis ke project aplikasi menggunakan Android Studio, lakukan langkah-langkah berikut:
  1. Buka project aplikasi di IDE, jika Anda belum melakukannya.
  2. Dari panel menu, pilih File > New > New Module
  3. Pada dialog Create New Module, pilih Dynamic Feature Module, lalu klik Next.
  4. Di bagian Configure your new module, selesaikan langkah-langkah berikut:
    1. Dari menu drop-down, pilih Base application module untuk project aplikasi Anda.
    2. Tentukan Module name. IDE menggunakan nama ini untuk mengidentifikasi modul sebagai subproject Gradle dalam file setelan Gradle Anda. Saat Anda membuat app bundle, Gradle menggunakan elemen terakhir pada nama subproject untuk memasukkan atribut <manifest split> ke dalam manifes modul fitur dinamis.
    3. Tentukan nama paket modul. Secara default, Android Studio menyarankan nama paket yang menggabungkan nama paket root modul dasar dengan nama modul yang Anda tentukan pada langkah sebelumnya.
    4. Pilih Minimum API level yang Anda inginkan untuk didukung modul. Nilai ini harus cocok dengan yang ada di modul dasar.
  5. Klik Next.
  6. Di bagian Configure On-Demand Options, hapus centang pada kotak di samping Enable on-demand. Jika Anda ingin mempelajari cara membuat fitur dinamis yang dapat Anda download setelah menginstal aplikasi, baca mengonfigurasi pengiriman on-demand.
  7. Klik Finish.
Setelah Android Studio selesai membuat modul, periksa sendiri isinya dari panel Project (dari panel menu, pilih View > Tool Windows > Project). Kode, resource, dan organisasi default harus sama dengan yang ada di modul aplikasi standar.

Konfigurasi build modul fitur dinamis

Saat Anda membuat modul fitur dinamis baru menggunakan Android Studio, IDE akan menerapkan plugin Gradle berikut ke file build.gradle modul.
// The following applies the dynamic-feature plugin to your dynamic feature module.
    // The plugin includes the Gradle tasks and properties required to configure and build
    // an app bundle that includes your dynamic feature module.

    apply plugin: 'com.android.dynamic-feature'
    
Banyak properti yang tersedia untuk plugin aplikasi standar juga tersedia untuk modul fitur dinamis. Bagian berikut ini menjelaskan properti yang boleh dan tidak boleh Anda sertakan dalam konfigurasi build modul fitur dinamis.

Yang tidak boleh disertakan dalam konfigurasi build modul fitur dinamis

Karena setiap modul fitur dinamis bergantung pada modul dasar, modul fitur dinamis ini juga mewarisi konfigurasi tertentu. Karena itu, Anda harus menghilangkan elemen berikut dalam file build.gradle modul fitur dinamis:
  • Konfigurasi penandatanganan: App bundle ditandatangani menggunakan konfigurasi penandatanganan yang Anda tetapkan dalam modul dasar.
  • Properti minifyEnabled: Anda dapat mengaktifkan penyusutan kode untuk seluruh project aplikasi hanya dari konfigurasi build modul dasar. Jadi, Anda harus menghilangkan properti ini dari modul fitur dinamis. Namun, Anda dapat menetapkan aturan ProGuard tambahan untuk setiap modul fitur dinamis.
  • versionCode dan versionName: Saat membuat app bundle Anda, Gradle menggunakan informasi versi aplikasi yang disediakan modul dasar. Anda harus menghilangkan properti ini dari file build.gradlemodul dinamis Anda.

Menetapkan hubungan dengan modul dasar

Android Studio akan menampakkan modul fitur dinamis yang dibuat untuk Anda ke modul dasar dengan menambahkan properti android.dynamicFeatures ke file build.gradle modul dasar, seperti ditunjukkan di bawah ini:
// In the base module’s build.gradle file.
    android {
        ...
        // Specifies dynamic feature modules that have a dependency on
        // this base module.
        dynamicFeatures = [":dynamic_feature", ":dynamic_feature2"]
    }
    
Selain itu, Android Studio menyertakan modul dasar sebagai dependensi dari modul fitur dinamis, seperti ditunjukkan di bawah ini:
// In the dynamic feature module’s build.gradle file:
    ...
    dependencies {
        ...
        // Declares a dependency on the base module, ':app'.
        implementation project(':app')
    }
    

Menentukan aturan ProGuard tambahan

Meskipun hanya konfigurasi build modul dasar yang dapat mengaktifkan penyusutan kode untuk project aplikasi, Anda dapat menyertakan aturan ProGuard kustom ke setiap modul fitur dinamis menggunakan properti proguardFiles, seperti ditunjukkan di bawah ini.
android.buildTypes {
         release {
             // You must use the following property to specify additional ProGuard
             // rules for dynamic feature modules.
             proguardFiles 'proguard-rules-dynamic-features.pro'
         }
    }
    
Selama proses build, perhatikan bahwa aturan ProGuard ini akan digabung dengan aturan dari modul lain (termasuk modul dasar). Jadi, meskipun setiap modul fitur dinamis dapat menetapkan sekumpulan aturan baru, aturan tersebut berlaku untuk semua modul dalam project aplikasi.

Men-deploy aplikasi

Saat mengembangkan aplikasi dengan dukungan untuk Pengiriman Dinamis, Anda dapat men-deploy aplikasi tersebut ke perangkat yang terhubung seperti biasanya dengan memilih Run > Run dari panel menu (atau dengan mengklik Run  di toolbar).
Jika project aplikasi Anda mencakup satu atau beberapa modul fitur dinamis, Anda dapat memilih fitur dinamis mana yang akan disertakan saat men-deploy aplikasi dengan mengubah konfigurasi run/debug yang ada, sebagai berikut:
  1. Dari panel menu, pilih Run > Edit Configurations.
  2. Dari panel kiri dialog Run/Debug Configurations, pilih konfigurasi Android App yang Anda inginkan.
  3. Di bawah Dynamic features to deploy pada tab General, centang kotak di samping setiap modul fitur dinamis yang ingin Anda sertakan saat men-deploy aplikasi.
  4. Klik OK.
Secara default, Android Studio tidak men-deploy aplikasi menggunakan app bundle. Sebaliknya, IDE membuat dan menginstal APK ke perangkat Anda yang telah dioptimalkan untuk kecepatan deployment, bukan ukuran APK. Untuk mengonfigurasi Android Studio agar membuat dan men-deploy APK serta pengalaman instan dari app bundle, modifikasi konfigurasi run/debug Anda.

Referensi lainnya

Untuk mempelajari lebih lanjut cara menggunakan Pengiriman Dinamis pendukung, bacalah referensi berikut.

Postingan blog

Video



sumber:https://developer.android.com/studio/projects/dynamic-delivery/at-install-delivery

Komentar

Postingan Populer