Po zaimportowaniu projektu Eclipse do Android Studio widzę dwa build.gradle
pliki:
1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle
Pierwsza wersja jest krótsza, druga zawiera definicje compileSdkVersion
itp.
Jaki jest cel posiadania dwóch oddzielnych plików? Czy istnieją oddzielne zadania kompilacji?
Odpowiedzi:
<PROJECT_ROOT>\app\build.gradle
jest specyficzny dla modułu aplikacji .<PROJECT_ROOT>\build.gradle
to „plik kompilacji najwyższego poziomu”, w którym można dodać opcje konfiguracji wspólne dla wszystkich podprojektów / modułów.Jeśli używasz innego modułu w swoim projekcie, jako lokalna biblioteka miałbyś inny
build.gradle
plik:<PROJECT_ROOT>\module\build.gradle
Na przykład w pliku najwyższego poziomu możesz określić następujące wspólne właściwości:
W Twoim
app\build.gradle
źródło
build.gradle
obecność pliku jest obowiązkowa, aby wyzwolić kompilację? Czy plik kompilacji najwyższego poziomu wywołuje pliki niższego poziomu? (Chociaż nie ma na to dowodów.)rootProject.ext.compileSdkVersion
konstrukcja jest bardzo pouczająca.Z oficjalnej dokumentacji:
Plik kompilacji projektu
<PROJECT_ROOT>\build.gradle
lub plik kompilacji projektu jest przeznaczony dla całego projektu, więc będzie używany do globalnych konfiguracji projektu. Typowy plik kompilacji projektu zawiera następujące elementy:Plik kompilacji modułu
<PROJECT_ROOT>\app\build.gradle
lub plik kompilacji modułu jest przeznaczony dla określonego modułu, więc będzie używany do określonych konfiguracji na poziomie modułu. Moduł kompilacji zawiera następujące elementy:możesz przeczytać oficjalne dokumenty tutaj:
Ustawienia kompilacji projektów i modułów
źródło