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. | 
