Omówienie projektów

Projekt w Android Studio zawiera wszystko, co definiuje Twoją przestrzeń roboczą dla aplikacji, od kodu źródłowego i komponentów po kod testowy i konfiguracje kompilacji.

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

Ta strona zawiera omówienie najważniejszych komponentów w Twoim projekcie.

Moduły

Moduł to zbiór plików źródłowych i ustawień kompilacji, który umożliwia podzielenie projektu na osobne jednostki funkcjonalne. Twój projekt może zawierać 1 lub wiele modułów, a jeden moduł może używać innego modułu jako zależności. Każdy moduł możesz kompilować, testować i debugować niezależnie.

Dodatkowe moduły są przydatne podczas tworzenia 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ń, np. telefonów i urządzeń do noszenia, ale zachować wszystkie pliki w ramach tego samego projektu i udostępnić część kodu.

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

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

Moduł aplikacji na Androida
Przygotowuje kontener na kod źródłowy, 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ślny moduł aplikacji ma nazwę „app”.

Android Studio oferuje te typy modułów aplikacji:

  • Telefony i tablety
  • Automotive
  • Wear OS
  • Telewizja
  • Generator profilu podstawowego
  • Test porównawczy

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

Więcej informacji o dodawaniu modułu znajdziesz w artykule Dodawanie modułu dla nowego urządzenia.

Moduł funkcji
Przedstawia modułową funkcję aplikacji, która może korzystać z Play Feature Delivery. Na przykład za pomocą modułów funkcji możesz udostępniać użytkownikom określone funkcje aplikacji na żądanie lub jako aplikacje błyskawiczne za pomocą Google Play Instant.

Android Studio oferuje te typy modułów funkcji:

  • Moduł funkcji dynamicznych
  • Moduł biblioteki funkcji dynamicznych w ramach Szybkiej rezerwacji

Więcej informacji znajdziesz w artykule Play Feature Delivery.

Moduł Biblioteka
Pozwala na przechowywanie kodu wielokrotnego użytku, którego możesz używać jako zależności w innych modułach aplikacji lub importować do innych projektów. Strukturalnie moduł biblioteki jest taki sam jak moduł aplikacji, ale podczas kompilacji zamiast pliku APK tworzy plik archiwum kodu, więc nie można go zainstalować na urządzeniu.

W oknie Utwórz nowy moduł Android Studio oferuje te typy modułów biblioteki:

  • Biblioteka Androida: zawiera wszystkie typy plików obsługiwane w projekcie Androida, z wyjątkiem kodu natywnego w C++, w tym kodu źródłowego w językach Java i Kotlin, zasobów oraz plików manifestu. Wynik kompilacji to plik archiwum Androida (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. Biblioteki natywne Androida mogą jednak zawierać natywny kod źródłowy C++. Wynik kompilacji to plik archiwum Androida (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 Kotlin lub Java. Wynik kompilacji to plik archiwum Java (JAR), który możesz dodać jako zależność do modułów aplikacji na Androida lub innych projektów w języku Kotlin lub Java.

Czasami moduły są nazywane podprojektami, ponieważ Gradle również nazywa moduły projektami.

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

Groovy

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 Android. Ten widok nie odzwierciedla rzeczywistej hierarchii plików na dysku. Jest ona zamiast tego zorganizowana według modułów i typów plików, aby ułatwić nawigację między kluczowymi plikami źródłowymi projektu, ukrywając jednocześnie niektóre pliki lub katalogi, których nie używa się często.

Oto niektóre różnice strukturalne między widokiem Android a strukturą na dysku:

  • Wyświetla wszystkie pliki konfiguracji związane z kompilacją projektu w grupie najwyższego poziomu Skrypt Gradle.
  • Jeśli masz różne pliki manifestu dla różnych wersji produktu i typów kompilacji, wyświetla wszystkie pliki manifestu dla każdego modułu w grupie na poziomie modułu.
  • Wyświetla wszystkie alternatywne pliki zasobów w jednej grupie, a nie w osobnych folderach dla każdego modyfikatora zasobu. Na przykład wszystkie wersje ikony w menu są widoczne obok siebie.

W każdym module aplikacji na Androida pliki są wyświetlane w tych grupach:

pliki manifestu
Zawiera plik AndroidManifest.xml.
java
Zawiera pliki kodu źródłowego Kotlin i Java, rozdzielone nazwami pakietów, w tym kod testów JUnit.
res
Zawiera wszystkie zasoby niebędące kodem, takie jak ciągi tekstowe interfejsu użytkownika i obrazy bitmapowe, 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 Android, w menu u góry okna Projekt wybierz Projekt.

Po wybraniu widoku Projekt zobaczysz 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 testów pomiarowych, które są wykonywane na urządzeniu z Androidem. Więcej informacji znajdziesz w artykule Testowanie w Android Studio.
cpp/
Zawiera natywny kod C lub C++ za pomocą interfejsu natywnego Java (JNI). Więcej informacji znajdziesz w dokumentacji NDK na Androida.
main/
Zawiera „główne” pliki zestawu źródłowego: kod i zasoby Androida, które są wspólne dla wszystkich wariantów kompilacji (pliki innych wariantów kompilacji znajdują się w katalogach nadrzędnych, np. src/debug/ w przypadku kompilacji debugowania):
AndroidManifest.xml
Opisuje charakter aplikacji i każdego z jej komponentów. Więcej informacji znajdziesz w omówieniu pliku manifestu aplikacji.
java/
 Kod źródłowy Kotlin lub Java albo oba, jeśli aplikacja zawiera kod źródłowy Kotlin i Java.
kotlin/
Zawiera tylko źródła kodu Kotlin.
res/
Zawiera zasoby aplikacji, takie jak pliki drawable i pliki ciągów znaków interfejsu użytkownika. Więcej informacji znajdziesz w omówieniu zasobów aplikacji.
assets/
Zawiera pliki, które mają zostać skompilowane w pliku APK w postaci docelowej. Jest to na przykład dobre miejsce na tekstury i dane gry. Możesz poruszać się po tym katalogu w taki sam sposób jak w typowym systemie plików, używając identyfikatorów URI, a pliki odczytywać jako strumień bajtów za pomocą funkcji AssetManager.
test/
Zawiera kod testów lokalnych, które są wykonywane na hostowanej maszynie JVM.
build.gradle lub build.gradle.kts (moduł)
Określa konfiguracje kompilacji dotyczące konkretnego modułu. build.gradle to poprawna nazwa pliku, jeśli używasz skryptu Groovy jako języka skryptu kompilacji, a build.gradle.kts – jeśli używasz skryptu Kotlin.
build.gradle lub build.gradle.kts (projekt)
Określa konfigurację kompilacji, która ma zastosowanie do wszystkich modułów. build.gradle to poprawna nazwa pliku, jeśli używasz skryptu Groovy jako języka skryptu kompilacji, a build.gradle.kts – jeśli używasz skryptu Kotlin. Ten plik jest integralną częścią projektu, dlatego należy go utrzymywać w ramach kontroli wersji razem z pozostałym kodem źródłowym.

Informacje o innych plikach kompilacji znajdziesz w artykule Konfigurowanie kompilacji.

Ustawienia struktury projektu

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

  • Projekt: ustawia wersję Gradle i wtyczki Androida do obsługi Gradle oraz nazwę lokalizacji repozytorium.
  • Lokalizacja pakietu SDK: określa lokalizację pakietu JDK, pakietu SDK Androida i pakietu NDK Androida, których używa Twój projekt.
  • Zmienna: umożliwia edytowanie zmiennych używanych w skryptach kompilacji.
  • Moduły: umożliwia edytowanie konfiguracji kompilacji dla poszczególnych modułów, w tym docelowego i minimalnego pakietu SDK, sygnatury 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 kompilacji, których należy użyć do skompilowania modułu.
    • Podpisywanie: określa certyfikat, którego chcesz użyć do podpisania aplikacji.
  • Zależności:lista zależności tego modułu od bibliotek, plików i modułów. Z tego panelu możesz dodawać, modyfikować i usuwać zależności. Więcej informacji o zależnościach modułów znajdziesz w artykule Konfigurowanie wariantów kompilacji.

  • Warianty kompilacji: umożliwiają konfigurowanie różnych wersji i typów kompilacji w projekcie.

    • Wersje: umożliwiają tworzenie wielu wersji, z których każda określa zestaw ustawień konfiguracji, takich jak minimalna i docelowa wersja pakietu SDK modułu oraz kod i nazwa wersji.

      Możesz np. zdefiniować jedną wersję, która ma minimalną wersję pakietu SDK 21 i docelową wersję pakietu SDK 29, oraz drugą wersję, która ma minimalną wersję pakietu SDK 24 i docelową wersję pakietu SDK 33.

    • Typy kompilacji: umożliwia tworzenie i modyfikowanie konfiguracji kompilacji zgodnie z opisem w artykule Konfigurowanie wariantów kompilacji. Domyślnie każdy moduł ma typ kompilacji debug i wersja. W razie potrzeby możesz zdefiniować więcej typów.