Tworzenie i uruchamianie aplikacji

Aby zobaczyć, jak aplikacja wygląda i działa na urządzeniu, musisz ją skompilować i uruchomić. Android Studio konfiguruje nowe projekty, dzięki czemu możesz wdrożyć aplikację na urządzeniu wirtualnym lub fizycznym za pomocą zaledwie kilku kliknięć.

Ten przegląd koncentruje się na tym, jak używać Android Studio do tworzenia i uruchamiania aplikacji na potrzeby testowania i debugowania. Informacje o tym, jak używać Android Studio do tworzenia aplikacji, aby można było udostępnić ją użytkownikom, znajdziesz w artykule Tworzenie aplikacji do udostępnienia użytkownikom. Szczegółowe informacje o zarządzaniu kompilacją i dostosowywaniu jej za pomocą Androida Studio lub bez niego znajdziesz w artykule Konfigurowanie kompilacji.

Podstawowe tworzenie i uruchamianie

Aby skompilować i uruchomić aplikację, wykonaj te czynności:

  1. Na pasku narzędzi wybierz aplikację z menu konfiguracji uruchamiania.
  2. W menu urządzenia docelowego wybierz urządzenie, na którym chcesz uruchomić aplikację.

    Menu urządzenia docelowego.

    Jeśli nie masz skonfigurowanych urządzeń, musisz utworzyć wirtualne urządzenie z Androidem, aby używać emulatora Androida, lub połączyć urządzenie fizyczne.

  3. Kliknij Uruchom .

Android Studio ostrzega, jeśli próbujesz uruchomić projekt na urządzeniu, z którym jest powiązany błąd lub ostrzeżenie. Ikony i zmiany stylistyczne odróżniają błędy (wybór urządzeń, który powoduje nieprawidłową konfigurację) od ostrzeżeń (wybór urządzeń, który może powodować nieoczekiwane działanie, ale nadal jest możliwy do uruchomienia).

Monitorowanie procesu kompilacji

Aby wyświetlić szczegóły procesu kompilacji, wybierz Widok > Okna narzędzi > Kompilacja lub kliknij Kompilacja na pasku okna narzędzi. W oknie narzędziowym Build (Kompilacja) wyświetlają się zadania, które Gradle wykonuje w celu skompilowania aplikacji (rysunek 1).

Rysunek 1. Okno narzędziowe Kompilacja w Android Studio.
  1. Karta Synchronizacja: wyświetla zadania wykonywane przez Gradle w celu synchronizacji z plikami projektu. Podobnie jak w przypadku karty Build Output, jeśli napotkasz błąd synchronizacji, wybierz elementy w drzewie, aby uzyskać więcej informacji o błędzie. Wyświetla też podsumowanie wpływu pobierania, aby określić, czy pobieranie zależności negatywnie wpływa na kompilację.
  2. Karta Wynik kompilacji: wyświetla zadania wykonywane przez Gradle w formie drzewa, w którym każdy węzeł reprezentuje fazę kompilacji lub grupę zależności zadań. Jeśli pojawią się błędy podczas kompilacji, sprawdź drzewo i wybierz element, aby odczytać dane wyjściowe błędu, jak pokazano na rysunku 2.
    Rysunek 2. Sprawdź, czy na karcie Wynik kompilacji nie ma komunikatów o błędach.
  3. Karta Analizator kompilacji: zawiera informacje o analizie skuteczności kompilacji. Więcej informacji znajdziesz w artykule Rozwiązywanie problemów z wydajnością kompilacji za pomocą narzędzia Build Analyzer.
  4. Uruchom ponownie:ponownie wykonuje ostatnią czynność związaną z kompilacją. Jeśli ostatnio uruchomiono Build > Make Selected Module (Kompilacja > Utwórz wybrany moduł), zostanie utworzony bieżący moduł. Jeśli ostatnio uruchomiono Build > Make Project (Kompilacja > Utwórz projekt), wygeneruje on pośrednie pliki kompilacji dla wszystkich modułów w projekcie.
  5. Filtry: odfiltrowuje ostrzeżenia, zadania lub oba te elementy, które zostały ukończone bez problemów. Może to ułatwić znajdowanie problemów w danych wyjściowych.

Jeśli warianty kompilacji korzystają z wersji produktu, Gradle wywołuje też zadania związane z kompilacją tych wersji. Aby wyświetlić listę wszystkich dostępnych zadań kompilacji, kliknij Widok > Okna narzędzi > Gradle lub Gradle na pasku okna narzędzi.

Jeśli podczas procesu kompilacji wystąpi błąd, Gradle może zaproponować opcje wiersza poleceń, które pomogą Ci rozwiązać problem, np. --stacktrace lub --debug. Aby używać opcji wiersza poleceń w procesie kompilacji:

  1. Otwórz okno Ustawienia lub Preferencje:
    • W systemie Windows lub Linux na pasku menu wybierz Plik > Ustawienia.
    • W systemie macOS na pasku menu wybierz Android Studio > Ustawienia.
  2. Kliknij Build, Execution, Deployment (Kompilacja, wykonywanie, wdrażanie) > Compiler (Kompilator).
  3. W polu tekstowym obok opcji Opcje wiersza poleceń wpisz opcje wiersza poleceń.
  4. Aby zapisać zmiany i zamknąć okno, kliknij OK.

Gradle zastosuje te opcje wiersza poleceń przy następnej próbie skompilowania aplikacji.

Tworzenie i uruchamianie za pomocą agenta AI

Agent AI w Android Studio ma dostęp do narzędzi, które umożliwiają mu tworzenie i wdrażanie aplikacji, a następnie weryfikowanie jej stanu w Twoim imieniu. Gdy korzystasz z trybu agenta, agent może wykonywać takie zadania jak:

  • Wdróż aplikację na połączonym urządzeniu fizycznym lub w emulatorze.
  • Sprawdź ekran i zrób zrzuty ekranu, aby zweryfikować zmiany w interfejsie.
  • Sprawdź Logcat pod kątem błędów czasu działania lub konkretnych komunikatów w dzienniku.
  • Wejdź w interakcję z aplikacją, używając adb shell poleceń do poruszania się po niej lub wprowadzania danych.

Używanie agenta AI do tworzenia i uruchamiania aplikacji jest przydatne w przypadku zadań wieloetapowych, w których agent musi iteracyjnie wprowadzać zmiany i sprawdzać, czy działają one zgodnie z oczekiwaniami.

Narzędzia do interakcji z urządzeniem w Android Studio.
Ilustracja 3. Agent AI może pomóc w testowaniu i weryfikowaniu zmian na urządzeniu.

Zaawansowane funkcje kompilowania i uruchamiania

Domyślny sposób kompilowania i uruchamiania aplikacji w Android Studio powinien wystarczyć do testowania prostej aplikacji. Możesz jednak używać tych funkcji kompilowania i uruchamiania w bardziej zaawansowanych przypadkach użycia:

  • Aby wdrożyć aplikację w trybie debugowania, kliknij Debuguj . Uruchomienie aplikacji w trybie debugowania umożliwia ustawianie punktów przerwania w kodzie, sprawdzanie zmiennych i ocenianie wyrażeń w czasie działania oraz uruchamianie narzędzi do debugowania. Więcej informacji znajdziesz w artykule Debugowanie aplikacji.

  • Jeśli masz większą, bardziej złożoną aplikację, kliknij Zastosuj zmiany zamiast Uruchom . Pozwala to zaoszczędzić czas, ponieważ nie musisz ponownie uruchamiać aplikacji za każdym razem, gdy chcesz wdrożyć zmianę. Więcej informacji o opcji Zastosuj zmiany znajdziesz w sekcji Wdrażanie przyrostowe za pomocą opcji Zastosuj zmiany.

  • Jeśli używasz Jetpack Compose, edycja na żywo to eksperymentalna funkcja, która umożliwia aktualizowanie funkcji kompozycyjnych w czasie rzeczywistym bez ponownego klikania Uruchom . Dzięki temu możesz skupić się na pisaniu kodu interfejsu z minimalną liczbą przerw. Więcej informacji znajdziesz w sekcji Edycja na żywo (eksperymentalna).

  • Jeśli masz aplikację z wieloma wariantami lub wersjami, możesz wybrać wariant do wdrożenia za pomocą okna narzędziowego Warianty kompilacji. Więcej informacji o uruchamianiu konkretnego wariantu kompilacji znajdziesz w sekcji Zmiana wariantu kompilacji.

  • Aby dostosować opcje instalacji, uruchamiania i testowania aplikacji, możesz zmienić konfigurację uruchamiania/debugowania. Więcej informacji o tworzeniu niestandardowych konfiguracji uruchamiania/debugowania znajdziesz w sekcji Tworzenie konfiguracji uruchamiania/debugowania.

  • Do celów programistycznych zalecamy używanie Androida Studio, ale aplikację możesz też wdrożyć na urządzeniu wirtualnym lub fizycznym z poziomu wiersza poleceń. Więcej informacji znajdziesz w artykule Tworzenie aplikacji z wiersza poleceń.

Wdrażanie przyrostowe za pomocą opcji Zastosuj zmiany

W Androidzie Studio 3.5 i nowszych funkcja Zastosuj zmiany umożliwia przesyłanie zmian w kodzie i zasobach do uruchomionej aplikacji bez konieczności jej ponownego uruchamiania, a w niektórych przypadkach – bez ponownego uruchamiania bieżącej aktywności. Ta elastyczność pomaga kontrolować, jaka część aplikacji jest ponownie uruchamiana, gdy chcesz wdrożyć i przetestować małe, stopniowe zmiany, zachowując przy tym bieżący stan urządzenia.

Funkcja Zastosuj zmiany korzysta z możliwości implementacji JVMTI w Androidzie, które są obsługiwane na urządzeniach z Androidem 8.0 (poziom interfejsu API 26) lub nowszym. Więcej informacji o działaniu funkcji Zastosuj zmiany znajdziesz w artykule Android Studio Project Marble: Zastosuj zmiany.

Wymagania

Działania Zastosuj zmiany są dostępne tylko wtedy, gdy spełniasz te warunki:

  • Plik APK aplikacji tworzysz za pomocą wariantu kompilacji debugowania.
  • Wdrażasz aplikację na urządzeniu docelowym lub emulatorze z Androidem 8.0 (API na poziomie 26) lub nowszym.

Używanie opcji Zastosuj zmiany

Jeśli chcesz wdrożyć zmiany na zgodnym urządzeniu, skorzystaj z tych opcji:

Zastosuj zmiany i ponownie uruchom aktywność Ikona Zastosuj zmiany i uruchom ponownie: próbuje zastosować zmiany zasobów i kodu, ponownie uruchamiając aktywność, ale bez ponownego uruchamiania aplikacji. Zwykle możesz użyć tej opcji, gdy zmodyfikujesz kod w treści metody lub zmodyfikujesz istniejący zasób.

Możesz też wykonać tę czynność, naciskając Control+Alt+F10 (Control+Command+Shift+R w systemie macOS).

Zastosuj zmiany w kodzie Ikona Zastosuj zmiany w kodzie : próbuje zastosować tylko zmiany w kodzie bez ponownego uruchamiania. Zwykle możesz użyć tej opcji, gdy zmodyfikujesz kod w treści metody, ale nie zmienisz żadnych zasobów. Jeśli zmienisz zarówno kod, jak i zasoby, użyj opcji Zastosuj zmiany i ponownie uruchom aktywność.

Możesz też wykonać tę czynność, naciskając Control+F10 (Control+Command+R w systemie macOS).

Uruchom : wdraża wszystkie zmiany i ponownie uruchamia aplikację. Użyj tej opcji, gdy wprowadzonych zmian nie można zastosować za pomocą żadnej z opcji Zastosuj zmiany. Więcej informacji o rodzajach zmian, które wymagają ponownego uruchomienia aplikacji, znajdziesz w sekcji Ograniczenia funkcji Zastosuj zmiany.

Włączanie zastępczego uruchamiania w przypadku opcji Zastosuj zmiany

Gdy klikniesz Zastosuj zmiany i zrestartuj aktywność lub Zastosuj zmiany w kodzie, Android Studio utworzy nowy plik APK i sprawdzi, czy można zastosować zmiany. Jeśli nie można zastosować zmian i spowodują one niepowodzenie działania funkcji Zastosuj zmiany, Android Studio wyświetli prośbę o ponowne uruchomienie Ikona uruchamiania aplikacji.

Jeśli nie chcesz, aby za każdym razem pojawiała się prośba o ponowne uruchomienie aplikacji, możesz skonfigurować Android Studio tak, aby automatycznie uruchamiało aplikację ponownie, gdy nie można zastosować zmian. Aby włączyć to zachowanie, wykonaj te czynności:

  1. Otwórz okno Ustawienia lub Preferencje:

    • W systemie Windows lub Linux wybierz z menu Plik > Ustawienia.
    • W macOS w menu wybierz Android Studio > Preferences (Android Studio > Preferencje).
  2. Kliknij Kompilacja, wykonywanie, wdrażanie > Wdrażanie.

  3. Zaznacz pola wyboru, aby włączyć automatyczne uruchamianie rezerwowe dla jednego lub obu działań Zastosuj zmiany.

  4. Kliknij OK.

Zmiany zależne od platformy

Niektóre funkcje Zastosuj zmiany zależą od konkretnych wersji platformy Android. Aby wprowadzić tego rodzaju zmiany, musisz wdrożyć aplikację na urządzeniu z Androidem w tej wersji (lub nowszej). Na przykład dodanie metody wymaga Androida 11 lub nowszego.

Ograniczenia funkcji Zastosuj zmiany

Funkcja Zastosuj zmiany ma na celu przyspieszenie procesu wdrażania aplikacji. Istnieją jednak pewne ograniczenia co do tego, kiedy można z niej korzystać.

Zmiany w kodzie wymagające ponownego uruchomienia aplikacji

Niektórych zmian w kodzie i zasobach nie można zastosować, dopóki aplikacja nie zostanie ponownie uruchomiona. Dotyczy to m.in.:

  • Dodawanie lub usuwanie pola
  • Usuwanie metody
  • Zmiana sygnatur metod
  • zmiana modyfikatorów metod lub klas;
  • Zmiana dziedziczenia klas
  • Zmiana wartości w typach wyliczeniowych
  • Dodawanie lub usuwanie zasobu
  • Zmiana manifestu aplikacji
  • Zmiana bibliotek natywnych (plików SO)
Biblioteki i wtyczki

Niektóre biblioteki i wtyczki automatycznie wprowadzają zmiany w plikach manifestu aplikacji lub w zasobach, do których odwołuje się manifest. Te automatyczne aktualizacje mogą zakłócać stosowanie zmian w następujący sposób:

  • Jeśli biblioteka lub wtyczka wprowadza zmiany w pliku manifestu aplikacji, nie możesz użyć opcji Zastosuj zmiany. Aby zobaczyć zmiany, musisz ponownie uruchomić aplikację.
  • Jeśli biblioteka lub wtyczka wprowadza zmiany w plikach zasobów aplikacji, nie możesz użyć opcji Zastosuj zmiany w kodzie Ikona Zastosuj zmiany w kodzie. Aby zobaczyć zmiany, musisz użyć opcji Zastosuj zmiany i ponownie uruchom aktywność Ikona Zastosuj zmiany i uruchom ponownie (lub ponownie uruchomić aplikację).

Aby uniknąć tych ograniczeń, wyłącz wszystkie automatyczne aktualizacje w przypadku wariantów kompilacji debugowania.

Na przykład Firebase Crashlytics aktualizuje zasoby aplikacji za pomocą unikalnego identyfikatora kompilacji podczas każdej kompilacji, co uniemożliwia korzystanie z funkcji Zastosuj zmiany w kodzie Ikona Zastosuj zmiany w kodzie i wymaga ponownego uruchomienia aktywności aplikacji, aby zobaczyć zmiany. Wyłącz to działanie, aby używać Zastosuj zmiany w kodzie razem z Crashlytics w przypadku kompilacji debugowania.

kod, który bezpośrednio odwołuje się do treści w zainstalowanym pliku APK;

Jeśli kod bezpośrednio odwołuje się do treści z pliku APK aplikacji zainstalowanego na urządzeniu, po kliknięciu Zastosuj zmiany w kodzie Ikona Zastosuj zmiany w kodzie może powodować awarie lub nieprawidłowe działanie. Dzieje się tak, ponieważ po kliknięciu Zastosuj zmiany w kodzie podczas instalacji zastępowany jest podstawowy plik APK na urządzeniu. W takich przypadkach możesz kliknąć Zastosuj zmiany i ponownie uruchom aktywność Ikona Zastosuj zmiany i uruchom ponownie lub Uruchom Ikona uruchamiania.

Jeśli podczas korzystania z funkcji Zastosuj zmiany napotkasz inne problemy, zgłoś błąd.

Edycja na żywo

Edytowanie na żywo to eksperymentalna funkcja w Android Studio, która umożliwia aktualizowanie funkcji kompozycyjnych na emulatorach i urządzeniach fizycznych w czasie rzeczywistym. Ta funkcja minimalizuje przełączanie kontekstu między pisaniem a tworzeniem aplikacji, dzięki czemu możesz dłużej skupiać się na pisaniu kodu bez przerw.

Więcej informacji o funkcji Live Edit

Zmiana wariantu kompilacji

Domyślnie Android Studio tworzy wersję debugowania aplikacji, która jest przeznaczona do użytku tylko podczas programowania. Aby ją utworzyć, kliknij Uruchom UI
button.

Aby zmienić wariant kompilacji używany przez Android Studio, wykonaj jedną z tych czynności:

  • W menu wybierz Build (Kompilacja) > Select Build Variant (Wybierz wariant kompilacji).
  • W menu wybierz View (Widok) > Tool Windows (Okna narzędzi) > Build Variants (Warianty kompilacji).
  • Na pasku okna narzędzi kliknij kartę Kompiluj warianty.

W przypadku projektów bez kodu natywnego lub C++ panel Warianty kompilacji ma 2 kolumny: ModułAktywny wariant kompilacji. Wartość Aktywny wariant kompilacji modułu określa, który wariant kompilacji IDE wdraża na podłączonym urządzeniu, i jest widoczna w edytorze.

Rysunek 9. Panel Build Variants (Wersje kompilacji) ma 2 kolumny w przypadku projektów, które nie zawierają kodu natywnego ani kodu C++.

Aby przełączać się między wariantami, kliknij komórkę Aktywny wariant kompilacji w przypadku modułu i wybierz z listy odpowiedni wariant.

W przypadku projektów z kodem natywnym lub C++ panel Warianty kompilacji ma 3 kolumny:

  • Moduł
  • Aktywna wersja kompilacji
  • Aktywny interfejs ABI

Wartość Aktywny wariant kompilacji modułu określa wariant kompilacji, który IDE wdraża na urządzeniu i który jest widoczny w edytorze. W przypadku modułów natywnych wartość Aktywny interfejs ABI określa interfejs ABI, którego używa edytor, ale nie ma wpływu na to, co jest wdrażane.

Rysunek 10. W panelu Build Variants (Wersje kompilacji) w przypadku projektów z kodem natywnym lub C++ dodawana jest kolumna Active ABI (Aktywny interfejs ABI).

Aby zmienić wariant kompilacji lub ABI, kliknij komórkę w kolumnie Aktywny wariant kompilacji lub Aktywny ABI i wybierz z listy odpowiedni wariant lub ABI. Po zmianie wyboru środowisko IDE automatycznie zsynchronizuje projekt. Zmiana dowolnej kolumny w przypadku aplikacji lub modułu biblioteki powoduje zastosowanie zmiany do wszystkich wierszy zależnych.

Domyślnie nowe projekty są konfigurowane z 2 wariantami kompilacji: wariantem debugowania i wariantem wersji. Aby przygotować aplikację do opublikowania, musisz utworzyć wariant wersji. Aby zdefiniować inne wersje aplikacji z różnymi funkcjami lub wymaganiami dotyczącymi urządzenia, możesz zdefiniować dodatkowe warianty kompilacji.

Okno dialogowe Konflikty w wariantach kompilacji Android Studio

W oknie Build Variants (Warianty kompilacji) w Android Studio mogą się pojawiać komunikaty o błędach wskazujące na konflikty między wariantami kompilacji, np.:

Okno „Build Variant” (Kompilowanie wariantu) z błędami konfliktu wariantów

Ten błąd nie wskazuje problemu z kompilacją w Gradle. Oznacza to, że środowisko IDE Android Studio nie może rozpoznać symboli między wariantami wybranych modułów.

Jeśli na przykład moduł M1 zależy od odmiany v1 modułu M2, ale w IDE wybrano odmianę v2 modułu M2, w IDE występują nierozwiązane symbole. Załóżmy, że M1 zależy od klasy, która jest dostępna tylko w v1. Gdy wybierzesz v2, IDE nie będzie znać tej klasy. Dlatego nie może rozpoznać nazwy klasy i wyświetla błędy w kodzie modułu M1.

Te komunikaty o błędach pojawiają się, ponieważ środowisko IDE nie może jednocześnie wczytać kodu dla wielu wersji. Jeśli chodzi o kompilację aplikacji, wariant wybrany w tym oknie nie ma wpływu, ponieważ Gradle kompiluje aplikację na podstawie kodu źródłowego określonego w przepisach kompilacji Gradle, a nie na podstawie tego, co jest obecnie załadowane w IDE.

Zmiana konfiguracji uruchamiania i debugowania

Gdy uruchomisz aplikację po raz pierwszy, Android Studio użyje domyślnej konfiguracji uruchamiania. Konfiguracja uruchamiania określa, czy aplikacja ma być wdrażana z pliku APK czy pakietu aplikacji na Androida, a także moduł do uruchomienia, pakiet do wdrożenia, aktywność do rozpoczęcia, urządzenie docelowe, ustawienia emulatora, opcje Logcat i inne.

Domyślna konfiguracja uruchamiania/debugowania tworzy plik APK, uruchamia domyślną aktywność projektu i wykorzystuje okno Wybierz urządzenie docelowe do wyboru urządzenia docelowego. Jeśli ustawienia domyślne nie odpowiadają Twojemu projektowi lub modułowi, możesz dostosować konfigurację uruchamiania/debugowania lub utworzyć nową na poziomie projektu, domyślnym i modułu.

Aby edytować konfigurację uruchamiania lub debugowania, wybierz Uruchom > Edytuj konfiguracje. Więcej informacji znajdziesz w artykule Tworzenie i edytowanie konfiguracji uruchamiania/debugowania.