Omówienie projektów

Projekt w Android Studio zawiera wszystkie elementy, które definiują obszar roboczy aplikacji, od kodu źródłowego i zasobów po testowanie kodu i konfiguracje kompilacji.

Gdy rozpoczynasz nowy projekt, Android Studio tworzy niezbędną strukturę dla wszystkich plików i udostępnia je w oknie Projekt w Android Studio. Aby otworzyć okno, wybierz Widok > Okna narzędziowe > Projekt.

Ta strona zawiera przegląd najważniejszych komponentów projektu.

Moduły

Moduł to zbiór plików źródłowych i ustawień kompilacji, które pozwalają podzielić projekt na osobne jednostki funkcji. Projekt może mieć jeden lub więcej modułów, a jeden z nich może pełnić funkcję zależności. Każdy moduł możesz samodzielnie kompilować, testować i debugować.

Moduły dodatkowe są przydatne przy tworzeniu bibliotek kodu w ramach własnego projektu lub gdy chcesz utworzyć różne zestawy kodu i zasobów dla różnych typów urządzeń, takich jak telefony czy urządzenia do noszenia, a jednocześnie umieścić wszystkie pliki w jednym projekcie i udostępnić jakiś kod.

Aby dodać nowy moduł do projektu, kliknij Plik > Nowy > Nowy moduł.

Android Studio zawiera kilka różnych typów modułów:

Moduł aplikacji na Androida
Udostępnia kontener na kod źródłowy aplikacji, pliki zasobów i ustawienia na poziomie aplikacji, takie jak plik kompilacji na poziomie modułu i plik manifestu Androida. Gdy tworzysz nowy projekt, domyślnym modułem aplikacji jest „aplikacja”.

Android Studio udostępnia te typy modułów aplikacji:

  • Telefon i tablet
  • Motoryzacja
  • Wear OS
  • Telewizja
  • Generator profili bazowych
  • Test porównawczy

Każdy moduł zawiera niezbędne pliki i szablony kodu odpowiednie dla danej aplikacji lub typu urządzenia.

Więcej informacji o dodawaniu modułów znajdziesz w artykule Dodawanie modułu na nowym urządzeniu.

Moduł funkcji
Reprezentuje modułową funkcję aplikacji, która może korzystać z Play Feature Delivery. Dzięki modułom funkcji możesz na przykład udostępniać użytkownikom określone funkcje aplikacji na żądanie lub w postaci aplikacji błyskawicznych za pomocą aplikacji błyskawicznych w Google Play.

Android Studio zawiera następujące typy modułów funkcji:

  • Moduł funkcji dynamicznych
  • Moduł biblioteki funkcji dynamicznych reklam błyskawicznych

Więcej informacji znajdziesz w artykule o Play Feature Delivery.

Moduł Biblioteka
Udostępnia kontener na kod wielokrotnego użytku, którego możesz użyć jako zależności w innych modułach aplikacji lub zaimportować do innych projektów. Z konstrukcji moduł biblioteki jest taki sam jak moduł aplikacji, ale po utworzeniu tworzy zamiast pliku APK plik archiwum kodu, więc nie można go zainstalować na urządzeniu.

W oknie Utwórz nowy moduł w Android Studio są dostępne te typy modułów biblioteki:

  • Biblioteka Androida: zawiera wszystkie typy plików obsługiwane w projekcie na Androida z wyjątkiem natywnego kodu C++, w tym kodu źródłowego Java i Kotlin, zasobów oraz plików manifestu. Wynikiem kompilacji jest plik Android Archive (AAR), który możesz dodać jako zależność do modułów aplikacji na Androida.
  • Biblioteka natywna Androida: zawiera wszystkie typy plików obsługiwane w projekcie na Androida, podobnie jak biblioteka Androida. Mogą one jednak zawierać natywny kod źródłowy w języku C++. Wynikem kompilacji jest plik Android Archive (AAR), który możesz dodać jako zależność do modułów aplikacji na Androida.
  • Biblioteka Java lub Kotlin: zawiera tylko pliki źródłowe w języku Java lub Kotlin. Wynikiem kompilacji jest plik Java Archive (JAR), który możesz dodać jako zależność do modułów aplikacji na Androida lub innych projektów Kotlin lub Java.

Moduły są czasami nazywane podprojektami, ponieważ Gradle odnosi się też do modułów jako projektów.

Aby dodać moduł biblioteki jako zależność do modułu aplikacji na Androida, musisz go zadeklarować w ten sposób:

Odlotowe

dependencies {
    implementation project(':my-library-module')
}

Kotlin

dependencies {
    implementation(project(":my-library-module"))
}

Pliki projektu

Domyślnie Android Studio wyświetla pliki projektu w widoku Androida. Ten widok nie odzwierciedla rzeczywistej hierarchii plików na dysku. Jest ona posortowana według modułów i typów plików, co ułatwia nawigację między kluczowymi plikami źródłowymi projektu oraz ukrywa niektóre pliki lub katalogi, które nie są często używane.

Oto niektóre różnice strukturalne między widokiem Androida a strukturami na dysku, że widok Androida:

  • Wyświetla wszystkie pliki konfiguracji związane z kompilacją w grupie Gradle Script najwyższego poziomu.
  • Pokazuje wszystkie pliki manifestu dla każdego modułu w grupie na poziomie modułu, jeśli masz różne pliki manifestu dla różnych rodzajów produktów i typów kompilacji.
  • Pokazuje wszystkie alternatywne pliki zasobów w 1 grupie zamiast w osobnych folderach dla każdego kwalifikatora zasobów. Na przykład wszystkie wersje gęstości ikony programu uruchamiającego są widoczne obok siebie.

W każdym module aplikacji na Androida pliki są wyświetlane w następujących grupach:

manifesty
Zawiera plik AndroidManifest.xml.
Java
Zawiera pliki kodu źródłowego Kotlin i Java rozdzielone nazwami pakietów, w tym kod testowy JUnit.
rozdzielczość
Zawiera wszystkie zasoby niebędące kodem, np. ciągi tekstowe interfejsu i obrazy mapy bitowej, podzielone na odpowiednie podkatalogi. Więcej informacji o możliwych typach zasobów znajdziesz w artykule Omówienie zasobów aplikacji.

Widok projektu

Aby zobaczyć rzeczywistą strukturę plików projektu, w tym wszystkie pliki ukryte w widoku Androida, wybierz Projekt z menu u góry okna Projekt.

Po wybraniu widoku Projekt widocznych jest znacznie więcej plików i katalogów, w tym:

module-name/
build/
Zawiera dane wyjściowe kompilacji.
libs/
Zawiera biblioteki prywatne.
src/
Zawiera wszystkie pliki kodu i zasobów modułu w tych podkatalogach:
androidTest/
Zawiera kod do testów narzędziowych przeprowadzanych na urządzeniu z Androidem. Więcej informacji znajdziesz w artykule o testowaniu w Android Studio.
cpp/
Zawiera natywny kod w C lub C++ wykorzystujący język JNI (Java Native Interface). Więcej informacji znajdziesz w dokumentacji Androida NDK.
main/
Zawiera „główne” pliki zbioru źródłowego: kod Androida i zasoby wspólne dla wszystkich wariantów kompilacji (pliki innych wersji kompilacji znajdują się w katalogach równorzędnych, takich jak src/debug/ w przypadku typu kompilacji do debugowania):
AndroidManifest.xml
Opisuje charakter aplikacji i każdy z jej komponentów. Więcej informacji znajdziesz w omówieniu pliku manifestu aplikacji.
java/
Zawiera źródła kodu Kotlin lub Java albo oba, jeśli aplikacja zawiera zarówno kod źródłowy w Kotlin, jak i w Javie.
kotlin/
Zawiera tylko źródła kodu Kotlin.
res/
Zawiera zasoby aplikacji, takie jak pliki rysowalne i pliki znaków interfejsu. Więcej informacji znajdziesz w omówieniu zasobów aplikacji.
assets/
Zawiera pliki, które zostaną skompilowane w plik APK w niezmienionej postaci. Na przykład jest to dobra lokalizacja dla tekstur i danych gry. Możesz poruszać się po tym katalogu tak samo jak w typowym systemie plików, używając identyfikatorów URI i odczytując pliki jako strumień bajtów za pomocą interfejsu AssetManager.
test/
Zawiera kod do lokalnych testów przeprowadzanych na hoście JVM.
build.gradle lub build.gradle.kts (moduł)
Definiuje konfiguracje kompilacji w poszczególnych modułach. build.gradle to prawidłowa nazwa pliku, jeśli używasz Groovy jako języka skryptu kompilacji, a build.gradle.kts, jeśli używasz skryptu Kotlin.
build.gradle lub build.gradle.kts (projekt)
Ta wartość określa konfigurację kompilacji, która ma zastosowanie do wszystkich modułów. build.gradle to prawidłowa nazwa pliku, jeśli używasz Groovy jako języka skryptu kompilacji, a build.gradle.kts, jeśli używasz skryptu Kotlin. Ten plik jest integralną częścią projektu, więc możesz go kontrolować wraz z pozostałym kodem źródłowym.

Informacje o innych plikach kompilacji znajdziesz w artykule na temat konfigurowania kompilacji.

Ustawienia struktury projektu

Aby zmienić różne ustawienia projektu Android Studio, otwórz okno Struktura projektu, klikając Plik > Struktura projektu. Zawiera te sekcje:

  • Projekt: ustawia wersję Gradle i wtyczki Androida do obsługi Gradle oraz nazwę lokalizacji repozytorium.
  • Lokalizacja pakietu SDK: ustawia lokalizację pakietów JDK, Android SDK i Android NDK używanych w projekcie.
  • Zmienne: pozwala edytować zmienne używane w skryptach kompilacji.
  • Moduły: umożliwia edytowanie konfiguracji kompilacji w poszczególnych modułach, w tym docelowego i minimalnego pakietu SDK, podpisu aplikacji oraz zależności bibliotek. Strona ustawień każdego modułu jest podzielona na te karty:
    • Właściwości: określa wersje pakietu SDK i narzędzia do kompilacji, których należy używać do skompilowania modułu.
    • Podpisywanie: określa certyfikat, którego chcesz użyć do podpisania aplikacji.
  • Zależności: lista zależności biblioteki, plików i modułów w tym module. W tym panelu możesz dodawać, modyfikować i usuwać zależności. Więcej informacji o zależnościach modułów znajdziesz w artykule o konfigurowaniu wariantów kompilacji.

  • Warianty kompilacji: pozwala skonfigurować różne rodzaje i typy kompilacji na potrzeby projektu.

    • Smary: umożliwia utworzenie wielu rodzajów kompilacji, z których każdy określa zestaw ustawień konfiguracji, takich jak minimalna i docelowa wersja pakietu SDK modułu oraz kod i nazwa wersji.

      Możesz na przykład zdefiniować jeden rodzaj, który ma pakiet SDK w wersji co najmniej 21 i docelowy pakiet SDK w wersji 29, a drugi pakiet z pakietem SDK w wersji 24 i 33.

    • Typy kompilacji: pozwala tworzyć i modyfikować konfiguracje kompilacji, zgodnie z opisem w sekcji Konfigurowanie wariantów kompilacji. Domyślnie każdy moduł ma typy kompilacji debugowanie i wydanie, ale w razie potrzeby możesz zdefiniować ich więcej.