Plugin Gradle Google merekomendasikan cara untuk mengonfigurasi file gradle Anda untuk membangun beberapa proyek memiliki beberapa kekurangan. Jika Anda memiliki beberapa proyek tergantung pada satu proyek perpustakaan, posting ini menjelaskan secara singkat konfigurasi yang direkomendasikan Google, kekurangannya, dan merekomendasikan cara berbeda untuk mengonfigurasi file gradle Anda ke mendukung pengaturan multi-proyek di Android Studio:
Pengaturan multi-proyek alternatif untuk studio android
Cara Yang Berbeda:
Ternyata ada cara yang lebih baik untuk mengelola beberapa proyek di Android Studio. Caranya adalah dengan membuat proyek Android Studio terpisah untuk perpustakaan Anda dan memberi tahu gradle bahwa modul untuk perpustakaan tempat aplikasi Anda berada berada di direktori proyek perpustakaan. Jika Anda ingin menggunakan metode ini dengan struktur proyek yang saya jelaskan di atas, Anda akan melakukan hal berikut:
- Buat proyek Android Studio untuk pustaka StickyListHeaders
- Buat proyek Android Studio untuk App2
- Buat proyek Android Studio untuk App1
- Konfigurasikan App1 dan App2 untuk membangun modul dalam proyek StickyListHeaders.
Langkah ke-4 adalah bagian yang sulit, jadi itulah satu-satunya langkah yang akan saya jelaskan secara terperinci. Anda dapat referensi modul yang eksternal ke direktori proyek Anda dengan menambahkan pernyataan proyek di file settings.gradle Anda dan dengan mengatur properti projectDir pada objek ProjectDescriptor yang dikembalikan oleh pernyataan proyek:

Kode yang harus dimasukkan settings.gradle:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Jika Anda telah melakukan ini dengan benar, Anda akan melihat bahwa modul yang dirujuk oleh proyek Anda akan muncul di navigator proyek, bahkan jika modul-modul itu di luar direktori proyek:

Ini memungkinkan Anda untuk bekerja pada kode pustaka dan kode aplikasi secara bersamaan. Integrasi kontrol versi juga berfungsi dengan baik ketika Anda mereferensikan modul secara eksternal dengan cara ini. Anda dapat melakukan dan mendorong modifikasi Anda ke kode perpustakaan sama seperti Anda dapat melakukan dan mendorong modifikasi ke kode aplikasi Anda.
Cara mengatur beberapa proyek ini menghindari kesulitan yang mengganggu konfigurasi yang disarankan Google. Karena kami mereferensikan sebuah modul yang berada di luar direktori proyek, kami tidak perlu membuat salinan tambahan dari modul perpustakaan untuk setiap aplikasi yang bergantung padanya dan kami dapat memvariasikan perpustakaan kami tanpa segala macam git submodule nonsense.
Sayangnya, cara lain untuk mendirikan beberapa proyek ini sangat sulit ditemukan. Jelas, ini bukan sesuatu yang akan Anda ketahui dari melihat panduan Google, dan pada titik ini, tidak ada cara untuk mengkonfigurasi proyek Anda dengan cara ini dengan menggunakan UI dari Android Studio.