Omówienie projektów

Projekt w Android Studio zawiera wszystko, co definiuje 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 je otworzyć, wybierz Widok > Okna narzędzi > Projekt.

Na tej stronie znajdziesz 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 odrębne jednostki funkcji. Twój projekt może mieć jeden lub wiele modułów, a jeden z nich może korzystać z innego. Każdy moduł możesz kompilować, testować i debugować osobno.

Dodatkowe moduły są przydatne przy tworzeniu bibliotek kodu w ramach własnego projektu lub gdy chcesz tworzyć różne zestawy kodu i zasobów dla różnych typów urządzeń, takich jak telefony i urządzenia do noszenia, ale utrzymywać wszystkie pliki w obrębie tego samego projektu i udostępniać jakiś kod.

Aby dodać nowy moduł do projektu, kliknij File > New > New Module.

Android Studio udostępnia kilka rodzajów modułów:

Moduł aplikacji na Androida
Udostępnia kontener na kod źródłowy aplikacji, pliki zasobów i ustawienia na poziomie aplikacji, np. plik kompilacji na poziomie modułu i plik manifestu Androida. Po utworzeniu nowego projektu domyślny moduł aplikacji nosi nazwę „aplikacja”.

Android Studio zawiera te typy modułów aplikacji:

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

Każdy moduł zawiera niezbędne pliki i szablony kodu, które są 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
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ępnić użytkownikom określone funkcje Twojej aplikacji na żądanie lub w postaci aplikacji błyskawicznych za pomocą aplikacji błyskawicznej w Google Play.

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

  • Moduł funkcji dynamicznych
  • Moduł biblioteki funkcji dynamicznych dynamicznych

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ść w innych modułach aplikacji lub zaimportować do innych projektów. Pod względem strukturalnym moduł biblioteki jest taki sam jak moduł aplikacji, ale po utworzeniu tworzy plik archiwum kodu zamiast pakietu APK, dlatego 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 natywnego kodu C++, w tym kodu źródłowego, zasobów i plików manifestu oraz kodu źródłowego Java i Kotlin. Wynikem kompilacji jest plik Android Archive (AAR), który możesz dodać jako zależność do modułów aplikacji na Androida.
  • Biblioteka natywna na Androida: zawiera wszystkie typy plików obsługiwane w projekcie na Androida (podobne do biblioteki Androida). Biblioteki natywne Androida mogą jednak zawierać natywny kod źródłowy 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 Kotlin lub Java. Wynikem kompilacji jest plik Java Archive (JAR), który możesz dodać jako zależność do modułów aplikacji na Androida lub projektów otherKotlin lub Java.

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

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

Odlotowy

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

Kotlin

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

Pliki projektu

Android Studio domyślnie wyświetla pliki projektu w widoku Android. Ten widok nie odzwierciedla rzeczywistej hierarchii plików na dysku. Zamiast tego jest on uporządkowany według modułów i typów plików, aby uprościć nawigację między kluczowymi plikami źródłowymi projektu, ukrywając te pliki lub katalogi, które nie są często używane.

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

  • Pokazuje wszystkie pliki konfiguracji związane z kompilacjami 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 smaków usług i typów kompilacji.
  • Pokazuje wszystkie alternatywne pliki zasobów w jednej grupie, zamiast w osobnych folderach dla każdego kwalifikatora zasobu. 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 tych grupach:

pliki manifestu
Zawiera plik AndroidManifest.xml.
Java
Zawiera pliki z kodem źródłowym Kotlin i Java rozdzielone nazwami pakietów, łącznie z kodem testowym JUnit.
rozdzielczość
Zawiera wszystkie zasoby inne niż kod, takie jak ciągi tekstowe UI i obrazy bitmapy, 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 w menu u góry okna 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 cały kod i pliki zasobów modułu w tych podkatalogach:
androidTest/
Zawiera kod do testów z instrumentacją przeprowadzanych na urządzeniu z Androidem. Więcej informacji znajdziesz w artykule o testowaniu w Android Studio.
cpp/
Zawiera natywny kod w języku C lub C++ korzystający z interfejsu natywnego w języku Java (JNI). Więcej informacji znajdziesz w dokumentacji pakietu Android NDK.
main/
Zawiera „główne” pliki zbioru źródłowego: kod Androida i zasoby udostępniane przez wszystkie warianty kompilacji (pliki innych wariantów kompilacji znajdują się w katalogach równorzędnych, np. src/debug/ w przypadku typu kompilacji do debugowania):
AndroidManifest.xml
Opisuje charakter aplikacji i każdy z jej elementów. Więcej informacji znajdziesz w omówieniu pliku manifestu aplikacji.
java/
Zawiera źródła kodu Kotlin lub Java albo oba te źródła, jeśli aplikacja zawiera zarówno kod źródłowy Kotlin, jak i kod Java.
kotlin/
Zawiera tylko źródła kodu Kotlin.
res/
Zawiera zasoby aplikacji, takie jak pliki rysowalne i pliki tekstowe UI. Więcej informacji znajdziesz w omówieniu zasobów aplikacji.
assets/
Zawiera pliki, które mają zostać skompilowane w plik APK w niezmienionej postaci. Jest to na przykład dobre miejsce na tekstury i dane gier. Możesz poruszać się po tym katalogu w taki sam sposób jak w typowym systemie plików, używając identyfikatorów URI i odczytywać pliki jako strumień bajtów za pomocą polecenia AssetManager.
test/
Zawiera kod do testów lokalnych wykonywanych na maszynie JVM hosta.
build.gradle lub build.gradle.kts (moduł)
Określa konfiguracje kompilacji związane z konkretnymi modułami. Jeśli używasz języka Groovy (języka skryptu kompilacji), build.gradle to prawidłowa nazwa pliku. Jeśli używasz skryptu Kotlin, jest to build.gradle.kts.
build.gradle lub build.gradle.kts (projekt)
Określa konfigurację kompilacji, która będzie miała zastosowanie do wszystkich modułów. Jeśli używasz Groovy (języka skryptu kompilacji), build.gradle to prawidłowa nazwa pliku. Jeśli używasz skryptu Kotlin, jest to build.gradle.kts. Ten plik jest integralną częścią projektu, więc dbaj o jego kontrolę wersji z pozostałym kodem źródłowym.

Informacje o innych plikach kompilacji znajdziesz w artykule o konfigurowaniu kompilacji.

Ustawienia struktury projektu

Aby zmienić różne ustawienia projektu Android Studio, otwórz okno Struktura projektu, klikając Plik > Struktura projektu. Zawiera następujące 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 Android SDK oraz pakietu NDK na Androida, których używa projekt.
  • Zmienne: pozwala edytować zmienne używane w skryptach kompilacji.
  • Moduły: umożliwia edytowanie konfiguracji kompilacji konkretnego modułu, 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 służące do skompilowania modułu.
    • Podpisywanie: określa certyfikat, który ma być używany do podpisania aplikacji.
  • Zależności: lista zależności bibliotek, plików i modułów w danym 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.

  • Tworzenie wariantów: umożliwia skonfigurowanie różnych smaków i typów kompilacji na potrzeby projektu.

    • Smary: pozwala utworzyć wiele rodzajów kompilacji, gdzie każdy rodzaj określa zestaw ustawień konfiguracji, takich jak minimalna i docelowa wersja pakietu SDK modułu oraz kod wersji i nazwa wersji.

      Możesz na przykład zdefiniować jeden rodzaj – z pakietem SDK 21 i docelowym pakietem SDK 29, oraz inny rodzaj – o wartości SDK 24 i 33.

    • Typy kompilacji: umożliwia tworzenie i modyfikowanie konfiguracji kompilacji zgodnie z opisem w sekcji Konfigurowanie wariantów kompilacji. Domyślnie każdy moduł ma typy kompilacji debug i release, ale w razie potrzeby możesz zdefiniować ich więcej.