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ć okno, wybierz Widok > Okna narzędziowe > 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 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ś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łów znajdziesz w artykule Dodawanie modułu dla nowego urządzenia.

Moduł funkcji
Reprezentuje 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 wybrane 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
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. 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ł w Android Studio są dostępne 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.

Moduły są czasami nazywane podprojektami, ponieważ Gradle określa też je jako projekty.

Aby dodać moduł biblioteki 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 faktycznej 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.
  • 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 wersji produktu 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 ikony w menu są widoczne obok siebie.

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

manifesty
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 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 zestawu źródłowego: kod i zasoby Androida udostępniane przez wszystkie warianty kompilacji (pliki dla innych wariantów kompilacji znajdują się w katalogach nadrzędnych, np. src/debug/ w przypadku kompilacji debugowania):
AndroidManifest.xml
Opisuje charakter aplikacji i poszczególnych 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 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 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 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, 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 w 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: określa lokalizację pakietu JDK, pakietu SDK Androida i NDK Androida, których używa projekt.
  • 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 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. W tym 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.