Aby zobaczyć, jak aplikacja wygląda i działa na urządzeniu, musisz ją skompilować i uruchomić. Android Studio konfiguruje nowe projekty, aby umożliwić wdrażanie aplikacji na urządzenie wirtualne lub fizyczne za pomocą kilku kliknięć.
W tym omówieniu skupiamy się na korzystaniu z Android Studio do kompilowania i uruchamiania aplikacji na potrzeby testowania i debugowania. Informacje o używaniu Android Studio do kompilowania aplikacji, aby można było ją udostępnić użytkownikom, znajdziesz w artykule Kompilowanie aplikacji na potrzeby udostępnienia użytkownikom. Więcej informacji o zarządzaniu kompilacją i jej dostosowywaniu za pomocą Android Studio lub bez niego znajdziesz w artykule Konfigurowanie kompilacji.
Podstawowe tworzenie i uruchamianie
Aby skompilować i uruchomić aplikację:
- Na pasku narzędzi wybierz aplikację w menu konfiguracji uruchomienia.
W menu urządzenia docelowego wybierz urządzenie, na którym chcesz uruchomić aplikację.
Jeśli nie masz skonfigurowanych żadnych urządzeń, musisz utworzyć urządzenie wirtualne Androida, aby korzystać z emulatora Androida, lub podłączyć fizyczne urządzenie.
Kliknij Uruchom
.
Android Studio wyświetla ostrzeżenie, jeśli spróbujesz uruchomić projekt na urządzeniu, które ma błąd lub ostrzeżenie. Zmiany ikonograficzne i stylistyczne pozwalają odróżnić błędy (wybrane urządzenia, które powodują nieprawidłową konfigurację) od ostrzeżeń (wybrane urządzenia, które mogą powodować nieoczekiwane działanie, ale nadal można je uruchomić).
Monitorowanie procesu kompilacji
Aby wyświetlić szczegóły procesu kompilacji, wybierz Widok > Okna narzędzi > Kompilacja lub kliknij Kompilacja
na pasku okna narzędzi. Okno narzędzia Kompiluj wyświetla zadania wykonywane przez Gradle w celu kompilowania aplikacji (patrz rysunek 1).

- Karta Synchronizacja: zawiera zadania, które Gradle wykonuje w celu zsynchronizowania plików projektu. Podobnie jak w przypadku karty Wyjście kompilacji, jeśli wystąpi 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 ma negatywny wpływ na kompilację.
- Karta Wyjście kompilacji: wyświetla zadania wykonywane przez Gradle w postaci drzewa, w którym każdy węzeł reprezentuje fazę kompilacji lub grupę zależności zadań. Jeśli pojawią się błędy w czasie kompilacji lub kompilacji, sprawdź drzewo i wybierz element, aby odczytać komunikat o błędzie, jak pokazano na rysunku 2.
Rysunek 2. Sprawdź kartę Wyniki kompilacji, aby znaleźć komunikaty o błędach. - Karta Analizator kompilacji: zawiera informacje o wydajności kompilacji. Więcej informacji znajdziesz w artykule Rozwiązywanie problemów z wydajnością kompilacji za pomocą narzędzia Build Analyzer.
- Restart (Restartuj): ponownie wykonuje ostatnie działanie kompilacji. Jeśli ostatnio uruchomiono polecenie Kompiluj > Utwórz wybrany moduł, zostanie utworzona wersja bieżącego modułu. Jeśli ostatnio uruchomiono Kompiluj > Utwórz projekt, wygenerowane zostaną pliki kompilacji pośrednich wszystkich modułów w projekcie.
- Filtry: filtruje ostrzeżenia i zadania lub jedno i drugie, które zostały ukończone. Dzięki temu łatwiej będzie Ci znaleźć problemy w wyniku.
Jeśli warianty kompilacji używają wersji produktu, Gradle wywołuje też zadania do kompilowania tych wersji. Aby wyświetlić listę wszystkich dostępnych zadań kompilacji, kliknij Widok > Okna narzędzi > Gradle lub kliknij Gradle
na pasku okna narzędzi.
Jeśli podczas procesu kompilacji wystąpi błąd, Gradle może zalecić użycie opcji wiersza poleceń, które pomogą Ci rozwiązać problem, np. --stacktrace
lub --debug
. Aby używać opcji wiersza poleceń w procesie kompilacji:
- Otwórz okno Ustawienia lub Ustawienia:
- W systemie Windows lub Linux na pasku menu wybierz Plik > Ustawienia.
- W systemie macOS na pasku menu kliknij Android Studio > Ustawienia.
- Kliknij Tworzenie, wykonywanie i wdrażanie > Kompilator.
- W polu tekstowym obok opcji Opcje wiersza poleceń wpisz opcje wiersza poleceń.
- Aby zapisać zmiany i zamknąć okno, kliknij OK.
Gradle zastosuje te opcje wiersza poleceń przy następnym kompilowaniu aplikacji.
Zaawansowane funkcje kompilacji i uruchamiania
Do testowania prostej aplikacji wystarczający powinien być domyślny sposób kompilowania i uruchamiania aplikacji w Android Studio. Funkcji kompilowania i uruchamiania możesz jednak używać w zaawansowanych przypadkach:
Aby wdrożyć aplikację w trybie debugowania, kliknij Debugowanie
. Uruchamianie aplikacji w trybie debugowania umożliwia ustawianie punktów przerwania w kodzie, sprawdzanie zmiennych i ocenianie wyrażeń w czasie wykonywania oraz uruchamianie narzędzi debugowania. Więcej informacji znajdziesz w artykule Debugowanie aplikacji.
Jeśli masz większą, bardziej złożoną aplikację, zamiast klikać Uruchom
użyj opcji Zastosuj zmiany. Dzięki temu zaoszczędzisz czas, ponieważ nie musisz uruchamiać aplikacji za każdym razem, gdy chcesz wdrożyć zmianę. Więcej informacji o używaniu polecenia apply-changes znajdziesz w sekcji Wdrażanie zmian stopniowo za pomocą polecenia apply-changes.
Jeśli korzystasz z Jetpack Compose, edytowanie na żywo to funkcja eksperymentalna, która umożliwia aktualizowanie komponentów w czasie rzeczywistym bez konieczności ponownego klikania Uruchom
. Dzięki temu możesz skupić się na pisaniu kodu interfejsu z minimalnymi przerwami. Więcej informacji znajdziesz w sekcji Edycja na żywo (w wersji eksperymentalnej).
Jeśli masz aplikację z wieloma wariantami lub wersjami kompilacji, możesz wybrać, którą wersję kompilacji wdrożyć, korzystając z okna narzędzi 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 testowania i debugowania znajdziesz w sekcji Tworzenie konfiguracji testowania i debugowania.
Do potrzeb programistycznych zalecamy korzystanie z Android Studio, ale aplikację możesz też wdrożyć na urządzenie wirtualne lub fizyczne z poziomu wiersza poleceń. Więcej informacji znajdziesz w artykule Kompilowanie aplikacji z wiersza poleceń.
wdrażać je stopniowo za pomocą funkcji Zastosuj zmiany.
W Android Studio 3.5 i nowszych wersjach funkcja Zastosuj zmiany umożliwia przesyłanie zmian kodu i zasobów do uruchomionej aplikacji bez jej restartowania, a w niektórych przypadkach – bez restartowania bieżącej aktywności. Ta elastyczność pozwala kontrolować, jak dużo aplikacji ma zostać ponownie uruchomione, gdy chcesz wdrożyć i przetestować niewielkie, przyrostowe zmiany, zachowując przy tym bieżący stan urządzenia.
Zmiana jest wykonywana przy użyciu funkcji implementacji JVMTI na Androida, które są obsługiwane na urządzeniach z Androidem 8.0 (poziom interfejsu API 26) lub nowszym. Więcej informacji o tym, jak działa funkcja Zastosuj zmiany, znajdziesz w artykule Android Studio – projekt Marble: Zastosuj zmiany.
Wymagania
Działanie Zastosuj zmiany jest dostępne tylko wtedy, gdy spełniasz te warunki:
- Plik APK aplikacji jest kompilowany przy użyciu wariantu kompilacji debugowania.
- Wdroż aplikację na urządzeniu docelowym lub na emulatorze z Androidem 8.0 (poziom interfejsu API 26) lub nowszym.
Używanie opcji Zastosuj zmiany
Jeśli chcesz wdrożyć zmiany na zgodnym urządzeniu, użyj jednej z tych opcji:
Zastosuj zmiany i ponownym uruchomieniu aktywności : próba zastosować zmiany zarówno w zasobach, jak i w kodzie przez ponowne uruchomienie aktywności, ale bez restartowania aplikacji. Zazwyczaj możesz użyć tej opcji, gdy zmodyfikujesz kod w ciele metody lub istniejące zasoby.
Możesz też wykonać tę czynność, naciskając Control + Alt + F10 (Control + Command + Shift + R w systemie macOS).
Zastosuj zmiany w kodzie : próba zastosowania tylko zmian w kodzie bez restartowania. Ogólnie możesz użyć tej opcji, gdy zmodyfikujesz kod w ciele metody, ale nie zmodyfikujesz żadnych zasobów. Jeśli zmodyfikowano zarówno kod, jak i zasoby, użyj opcji Zastosuj zmiany i ponownym uruchomieniu aktywności.
Możesz też wykonać tę czynność, naciskając Control + F10 (Control + Command + R w systemie macOS).
Uruchom: : wdrożenie wszystkich zmian i ponowne uruchomienie aplikacji. Użyj tej opcji, jeśli nie możesz zastosować wprowadzonych zmian za pomocą żadnej z opcji Zastosuj zmiany. Więcej informacji o tym, jakie zmiany wymagają ponownego uruchomienia aplikacji, znajdziesz w sekcji Ograniczenia stosowania zmian.
Włączanie uruchomienia zastępczego dla opcji Zastosuj zmiany
Gdy klikniesz Zastosuj zmiany i ponownym uruchomieniu aktywności lub Zastosuj zmiany kodu, Android Studio utworzy nowy plik APK i określi, czy można zastosować zmiany. Jeśli zmian nie można zastosować i spowodowałyby one błąd podczas stosowania zmian, Android Studio wyświetli prompt z prośbą o uruchomienie aplikacji.
Jeśli nie chcesz, aby prośba o ponowne uruchomienie pojawiała się za każdym razem, możesz skonfigurować Android Studio tak, aby automatycznie uruchamiać aplikację, gdy nie można zastosować zmian. Aby włączyć tę funkcję:
Otwórz okno Ustawienia lub Ustawienia:
- W systemie Windows lub Linux w menu wybierz Plik > Ustawienia.
- W macOS wybierz Android Studio > Preferencje z menu.
Kliknij Kompilacja, wykonanie, wdrożenie > Wdrożenie.
Zaznacz pola wyboru, aby włączyć automatyczne uruchamianie w przypadku jednego lub obu działań „Zastosuj zmiany”.
Kliknij OK.
Zmiany zależne od platformy
Niektóre funkcje funkcji Zastosuj zmiany zależą od konkretnych wersji platformy Android. Aby zastosować tego typu zmiany, musisz wdrożyć aplikację na urządzeniu z tą wersją Androida (lub nowszą). Na przykład dodanie metody wymaga Androida w wersji 11 lub nowszej.
Ograniczenia stosowania zmian
Opcja Zastosuj zmiany została zaprojektowana w celu przyspieszenia procesu wdrażania aplikacji. Istnieją jednak pewne ograniczenia dotyczące tego, kiedy można go używać.
Zmiany w kodzie, które wymagają ponownego uruchomienia aplikacji
Niektórych zmian kodu i zasobów nie można zastosować, dopóki nie uruchomisz ponownie aplikacji. Dotyczy to m.in. tych zmian:
- Dodawanie i usuwanie pól
- Usuwanie metody
- Zmiana podpisów metod
- Zmienianie modyfikatorów metod lub klas
- Zmiana dziedziczenia zajęć
- Zmiana wartości w typach wyliczeniowych
- Dodawanie i usuwanie zasobu
- Zmiana pliku manifestu aplikacji
- Zmiana bibliotek natywnych (plików SO)
Biblioteki i wtyczki
Niektóre biblioteki i wtyczki automatycznie wprowadzają zmiany w plikach pliku manifestu aplikacji lub w zasobach, do których odwołuje się plik manifestu. Te automatyczne aktualizacje mogą zakłócać działanie funkcji Zastosuj zmiany na te sposoby:
- Jeśli biblioteka lub wtyczka wprowadzi zmiany w pliku manifestu aplikacji, nie będzie można 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 kodu
. Aby zobaczyć zmiany, musisz użyć opcji Zastosuj zmiany i ponowne uruchomienie aktywności
(lub ponownie uruchomić aplikację).
Aby uniknąć tych ograniczeń, wyłącz wszystkie automatyczne aktualizacje w wariantach wersji debugowej.
Na przykład Firebase
Crashlytics aktualizuje zasoby aplikacji za pomocą unikalnego identyfikatora kompilacji podczas każdej kompilacji, co uniemożliwia użycie opcji Zastosuj zmiany kodu i wymaga ponownego uruchomienia aktywności aplikacji, aby zobaczyć zmiany. Wyłącz to zachowanie, aby używać Zastosuj zmiany kodu razem z Crashlytics w przypadku wersji debugowych.
kod, który bezpośrednio odwołuje się do treści w zainstalowanym pliku APK;
Jeśli Twój kod bezpośrednio odwołuje się do treści z pliku APK aplikacji zainstalowanej na urządzeniu, może on spowodować awarię lub nieprawidłowe działanie po kliknięciu Zastosuj zmiany kodu . Dzieje się tak, ponieważ po kliknięciu Zastosuj zmiany kodu podstawowy plik APK na urządzeniu zostaje zastąpiony podczas instalacji. W takich przypadkach możesz kliknąć Zastosuj zmiany i ponowne uruchomienie aktywności
lub Wykonaj
.
Jeśli podczas korzystania z funkcji Zastosuj zmiany napotkasz inne problemy, zgłoś błąd.
Edycja na żywo
Live Edit to eksperymentalna funkcja w Android Studio, która umożliwia aktualizowanie komponentów w emulatorze i na fizycznych urządzeniach 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 zakłóceń.
Zmień wariant kompilacji
Gdy klikniesz Uruchom , Android Studio domyślnie skompiluje wersję debugowania aplikacji, która jest przeznaczona tylko do użytku podczas tworzenia aplikacji.
Aby zmienić wariant kompilacji używany przez Android Studio, wykonaj jedną z tych czynności:
- W menu kliknij Kompiluj > Wybierz wariant kompilacji.
- W menu kliknij Widok > Okna narzędzi > Warianty kompilacji.
- Na pasku narzędzi kliknij kartę Warianty kompilacji.
W przypadku projektów bez kodu natywnego lub C++ panel Warianty kompilacji zawiera 2 kolumny: Moduł i Aktywny wariant kompilacji. Wartość Aktywny wariant kompilacji dla modułu określa, który wariant kompilacji IDE wdraża na Twoje połączone urządzenie i jest widoczny w edytorze.
Rysunek 9. Panel Generuj warianty zawiera 2 kolumny w przypadku projektów, które nie mają kodu natywnego ani kodu C++.
Aby przełączyć się między wariantami, kliknij komórkę Aktywny wariant kompilacji w module i wybierz odpowiedni wariant z listy.
W przypadku projektów z kodem natywnym lub C++ panel Warianty kompilacji zawiera 3 kolumny:
- Moduł
- Aktywna wersja kompilacji
- Aktywny interfejs ABI
Wartość Aktywne warianty kompilacji dla danego modułu określa wariant kompilacji, który IDE wdraża na urządzenie i jest widoczny w edytorze. W przypadku modułów natywnych wartość Aktywny ABI określa interfejs ABI, którego używa edytor, ale nie ma wpływu na to, co jest wdrażane.
Rysunek 10. Panel Generowanie wersji wariantów dodaje kolumnę Aktywny ABI do projektów z kodem natywnym lub w C++.
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 IDE automatycznie zsynchronizuje projekt. Zmiana dowolnej kolumny w aplikacji lub module biblioteki powoduje zastosowanie tej zmiany do wszystkich zależnych wierszy.
Domyślnie nowe projekty są konfigurowane z 2 wariantami wersji: wariantem debugowania i wariantem wersji. Musisz skompilować wersję wydania, aby przygotować aplikację do publicznego wydania. Aby zdefiniować inne wersje aplikacji z różnymi funkcjami lub wymaganiami dotyczącymi urządzenia, możesz zdefiniować dodatkowe warianty kompilacji.
Konflikty w oknie Warianty kompilacji w Android Studio
W oknie Warianty kompilacji w Android Studio mogą się wyświetlać komunikaty o błędach wskazujące na konflikty między wariantami kompilacji, np.:
Ten błąd nie wskazuje na problem z kompilacją w Gradle. Oznacza to, że IDE Android Studio nie może rozwiązać symboli między wariantami wybranych modułów.
Jeśli na przykład masz moduł M1
, który zależy od odmiany v1
modułu M2
, ale w IDE wybrana jest odmiana v2
, masz w IDE nierozwiązane symbole.M2
Załóżmy, że M1
zależy od klasy dostępnej tylko w v1
. Gdy wybierzesz v2
, IDE nie będzie znać tej klasy. W związku z tym nie może on rozwiązywać nazwy klasy i wyświetla błędy w kodzie modułu M1
.
Te komunikaty o błędach pojawiają się, ponieważ IDE nie może wczytać kodu dla wielu wersji jednocześnie. W przypadku kompilacji aplikacji wybrana w tym oknie wersja nie ma jednak żadnego wpływu, ponieważ Gradle kompiluje aplikację z kodem źródłowym określonym w recepturach kompilacji Gradle, a nie na podstawie tego, co jest aktualnie wczytane w IDE.
Zmiana konfiguracji uruchamiania i debugowania
Gdy uruchamiasz aplikację po raz pierwszy, Android Studio używa domyślnej konfiguracji uruchomienia. Konfiguracja uruchomienia określa, czy wdrażać aplikację z pliku APK czy pakietu aplikacji na Androida, a także moduł do uruchomienia, pakiet do wdrożenia, aktywność do uruchomienia, urządzenie docelowe, ustawienia emulatora, opcje Logcat i inne.
Domyślna konfiguracja uruchamiania/debugowania tworzy plik APK, uruchamia domyślną aktywność projektu i używa okna Wybierz docelowe środowisko wdrażania do wyboru urządzenia docelowego. Jeśli domyślne ustawienia nie pasują do Twojego projektu lub modułu, możesz dostosować konfigurację uruchamiania lub debugowania lub utworzyć nową na poziomie projektu, domyślnym lub modułu.
Aby edytować konfigurację uruchomienia lub debugowania, kliknij Uruchom > Edytuj konfiguracje. Więcej informacji znajdziesz w artykule Tworzenie i edytowanie konfiguracji wykonywania i debugowania.