Google Gradle Plugin zalecany sposób konfigurowania plików gradle do budowania wielu projektów ma pewne wady Jeśli masz wiele projektów zależnych od jednego projektu biblioteki, ten post pokrótce wyjaśnia zalecaną konfigurację Google, jej niedociągnięcia i zaleca inny sposób konfiguracji plików gradle, aby obsługuje konfiguracje wielu projektów w Android Studio:
Alternatywna konfiguracja wielu projektów dla studia Android
Inny sposób:
Okazuje się, że istnieje lepszy sposób zarządzania wieloma projektami w Android Studio. Sztuczka polega na utworzeniu oddzielnych projektów Android Studio dla swoich bibliotek i poinformowaniu gradle, że moduł biblioteki, od której zależy Twoja aplikacja, znajduje się w katalogu projektu biblioteki. Jeśli chcesz użyć tej metody z opisaną powyżej strukturą projektu, wykonaj następujące czynności:
- Utwórz projekt Android Studio dla biblioteki StickyListHeaders
- Utwórz projekt Android Studio dla App2
- Utwórz projekt Android Studio dla App1
- Skonfiguruj App1 i App2, aby skompilować moduły w projekcie StickyListHeaders.
Czwarty krok to najtrudniejsza część, więc to jedyny krok, który opiszę szczegółowo. Możesz odwoływać się do modułów, które są zewnętrzne w stosunku do katalogu projektu, dodając instrukcję projektu w pliku settings.gradle i ustawiając właściwość projectDir w obiekcie ProjectDescriptor, który jest zwracany przez tę instrukcję projektu:
Kod, który trzeba wpisać settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Jeśli zrobiłeś to poprawnie, zauważysz, że moduły, do których odwołuje się Twój projekt, pojawią się w nawigatorze projektu, nawet jeśli te moduły są zewnętrzne w stosunku do katalogu projektu:
Umożliwia to jednoczesną pracę nad kodem biblioteki i kodem aplikacji. Integracja kontroli wersji działa również dobrze, gdy w ten sposób odwołujesz się do modułów zewnętrznie. Możesz zatwierdzać i wypychać modyfikacje do kodu biblioteki, tak jak możesz zatwierdzać i wypychać modyfikacje do kodu aplikacji.
Ten sposób tworzenia wielu projektów pozwala uniknąć trudności, które są plagą zalecanej przez Google konfiguracji. Ponieważ odwołujemy się do modułu, który znajduje się poza katalogiem projektu, nie musimy tworzyć dodatkowych kopii modułu biblioteki dla każdej aplikacji, która jest od niego zależna, i możemy wersjonować nasze biblioteki bez żadnych bzdur podrzędnych git.
Niestety, ten inny sposób tworzenia wielu projektów jest bardzo trudny do znalezienia. Oczywiście nie jest to coś, czego się dowiesz, patrząc na przewodnik Google, iw tym momencie nie ma sposobu, aby skonfigurować swoje projekty w ten sposób za pomocą interfejsu użytkownika Android Studio.