Projekty na Androida zawierają wiele plików związanych z kompilacją i struktur katalogów, uporządkowanie źródła i zasobów aplikacji. Zanim zagłębimy się w temat przyjrzymy się szczegółowej konfiguracji, przyjrzymy się ogólnej strukturze i podstawom z każdej części.
Ta tabela zawiera listę typowych plików w projekcie na Androida. Opisy poszczególnych elementów który zawiera uwagi dotyczące rodzaju treści, które się w nim znajdują. Najwyższa metody ewoluują z czasem, a te opisy mogą nie odpowiadać projektowi odziedziczonych lub pobranych z internetu.
Podczas tworzenia plików kompilacji stosuj podejście deklaratywne. tworzenie logiki i zadań powinny pojawiać się tylko we wtyczkach. Dzięki ograniczaniu logiki tworzenia do wtyczek pliki kompilacji stają się deklaracjami dotyczącymi danych, i edytowania. Przyszłe wersje mogą zawierać alternatywną specyfikację, taką jak Gradle deklaratywnych, który uniemożliwia tworzenie logiki w parametrze .
Folder/plik |
Użyj |
---|---|
.gradle/, |
Katalog pamięci podręcznej projektu Gradle Zarządzana przez Gradle i zawiera pobraną dystrybucję Gradle, pamięć podręczną projektu oraz pliki konfiguracji. Nie zmieniaj plików w tym katalogu. |
.idea/ |
Metadane projektu Android Studio Nie zmieniaj plików w tym katalogu. |
build.gradle(.kts) |
Powinien zawierać tylko deklaracje wtyczek, które umożliwiają ustawienie wspólnej ścieżki klasy wtyczki w podprojektach. Inny kod powinien znajdować się w ustawieniach lub w zagnieżdżonych plikach kompilacji na poziomie projektu. |
gradle.properties |
Konfiguracja wykonywania Gradle Zawiera właściwości Gradle, które kontrolują aspekty środowiska kompilacji Gradle, takie jak rozmiar sterty, pamięć podręczna i wykonywanie równoległe. Zdefiniowano tu niektóre tymczasowe właściwości Androida, aby ograniczyć zmiany w interfejsie AGP DSL w miarę ich dodawania i usuwania. |
gradlew (linux, Mac) gradlew.bat (system Windows) |
Plik otoki Gradle Wczytuje kompilację przez pobranie dystrybucji Gradle i przekazywanie do niej poleceń. Dzięki temu możesz uruchamiać kompilacje bez konieczności wstępnego instalowania Gradle. |
local.properties |
Konfiguracja maszyny lokalnej Zawiera właściwości związane z komputerem lokalnym, np. lokalizację pakietu Android SDK. Wyklucz ten plik z kontroli źródła |
settings.gradle(.kts) |
Zawiera globalne informacje o kompilacji potrzebne do zainicjowania Gradle i konfiguracji projektu, takie jak:
|
gradle/ |
|
↳ libs.versions.toml |
Definiuje zmienne zależności i wtyczek używanych w kompilacji. Możesz określić, których wersji chcesz używać w tym miejscu, co zapewnia spójność we wszystkich podprojektach w projekcie. |
↳ zawijaj/ |
|
↳ gradle-wrapper.jar |
Wczytywanie Gradle plik wykonywalny Pobiera określony rozkład Gradle (jeśli nie istnieje) i uruchamia go, przekazując dowolne argumenty |
↳ gradle-wrapper.properties |
Konfiguracja kodu Gradle Określa, skąd pobrać dystrybucję Gradle (w tym wersję, która ma być używana). |
aplikacja/ |
Podprojekty (nazywane w Android Studio jako „moduły”) mogą tworzyć aplikacje lub biblioteki i mogą zależeć od innych podprojektów lub zależności zewnętrznych.
|
↳ build.gradle(.kts) |
Plik kompilacji na poziomie podprojektu Deklaruje sposób utworzenia tego podprojektu. Każdy podprojekt wymaga osobnego pliku kompilacji i powinien zawierać
W plikach kompilacji nie należy uwzględniać logiki tworzenia (np. definicji lub warunków funkcji Kotlin) ani deklaracji zadań. Logika kompilacji i zadania powinny znajdować się tylko wewnątrz wtyczek. |
↳ src/ |
Pliki źródłowe podprojektu Grupuje pliki źródłowe (kod aplikacji i zasoby) w zbiory źródłowe. Zbiór źródłowy |
↳ główna/ |
Główny zbiór źródłowy Kod źródłowy i zasoby, które są wspólne we wszystkich wariantach kompilacji. To źródło stanowi podstawę wszystkich kompilacji, a inne, bardziej szczegółowe zbiory źródłowe dodają lub zastępują to źródło. |
↳ java/ ↳ kotlin/ |
Kod źródłowy Kotlin i Java Katalog |
↳ rozdzielcz./ |
Zawiera zasoby aplikacji, takie jak pliki XML i obrazy. Wszystkie aplikacje korzystają z podstawowych zasobów, takich jak ikony w programie uruchamiającym, ale wiele z nich, takich jak układy i menu, jest używanych tylko w aplikacjach opartych na widokach. Do tworzenia aplikacji używane są zasoby ciągów znaków zdefiniowane w tym katalogu. |
↳ AndroidManifest.xml |
Metadane aplikacji na Androida Czytaj przez menedżera pakietów Androida, aby poinformować system
|
↳ androidTest/ |
Test urządzenia – zbiór źródeł Zawiera źródło testów, które zostaną przeprowadzone na urządzeniu z Androidem lub w emulatorze. Testy te mają dostęp do rzeczywistego środowiska Androida, ale są wykonywane wolniej niż testy hosta. |
↳ test/ |
Test hosta Zbiór źródłowy Zawiera źródło dla testów przeprowadzanych lokalnie w maszynie wirtualnej JVM w porównaniu do testów przeprowadzanych na urządzeniu. Takie testy przeprowadza się znacznie szybciej niż testy na urządzeniach. Jednak wszystkie wywołania systemowe (w tym cykle życia uruchomione w aplikacji) muszą być udawane, sfałszowane, skrócone lub w inny sposób symulowane. Wszystkie pliki źródłowe w zbiorze źródłowym |
↳ proguard-rules.pro |
Określa reguły kontrolujące zmniejszanie, optymalizację i zaciemnianie aplikacji. R8 usuwa zbędny kod i zasoby, optymalizuje wydajność środowiska wykonawczego i jeszcze bardziej minimalizuje kod przez zmianę nazw identyfikatorów. |