Android Studio 4.1 (sierpień 2020 r.)

Android Studio 4.1 to wersja główna, która zawiera wiele nowych funkcji i ulepszeń.

4.1.3 (marzec 2021 r.)

Ta niewielka aktualizacja zawiera różne poprawki błędów. Listę ważnych poprawek błędów znajdziesz w odpowiednim poście na blogu o aktualizacjach.

4.1.2 (styczeń 2021 r.)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

Nowy inspektor bazy danych

Sprawdzaj bazy danych, twórz dotyczące ich zapytania i modyfikuj je w działającej aplikacji za pomocą nowego inspektora bazy danych. Aby rozpocząć, wdróż aplikację na urządzeniu z API na poziomie 26 lub wyższym i na pasku menu wybierz View > Tool Windows > Database Inspector (Widok > Okna narzędzi > Inspektor bazy danych).

Więcej informacji znajdziesz w artykule Debugowanie bazy danych za pomocą narzędzia Database Inspector.

Uruchamianie Android Emulator bezpośrednio w Android Studio

Emulatora Androida możesz teraz uruchamiać bezpośrednio w Android Studio. Używaj tej funkcji, aby oszczędzać miejsce na ekranie, szybko przełączać się między emulatorem a oknem edytora za pomocą klawiszy skrótu oraz porządkować przepływ pracy w IDE i emulatorze w jednym oknie aplikacji.

Emulator uruchamiany w oknie narzędziowym w Android Studio.

Więcej informacji znajdziesz w dokumentacji emulatora Androida.

Używanie modeli TensorFlow Lite

Powiązanie modelu ML ułatwia bezpośrednie importowanie plików .tflite modeli i używanie ich w projektach. Android Studio generuje łatwe w użyciu klasy, dzięki czemu możesz uruchamiać model przy użyciu mniejszej ilości kodu i większego bezpieczeństwa typów.

Obsługiwane modele

Obecna implementacja powiązania modelu ML obsługuje modele klasyfikacji obrazów i transferu stylu, pod warunkiem że są one wzbogacone o metadane. Z czasem obsługa zostanie rozszerzona na inne obszary problemowe, takie jak wykrywanie obiektów, segmentacja obrazów i klasyfikacja tekstu.

Szeroka gama wstępnie wytrenowanych modeli z metadanymi jest dostępna w TensorFlow Hub. Metadane możesz też dodać do modelu TensorFlow Lite samodzielnie, zgodnie z opisem w artykule Dodawanie metadanych do modelu TensorFlow Lite.

Importowanie pliku modelu

Aby zaimportować obsługiwany plik modelu, wykonaj te czynności:

  1. Otwórz okno importowania modelu TensorFlow Lite w menu Plik:Plik > Nowy > Inne > Model TensorFlow Lite.
  2. Wybierz plik modelu .tflite, który został wcześniej pobrany lub utworzony.
  3. Kliknij Zakończ.

Spowoduje to zaimportowanie pliku modelu do projektu i umieszczenie go w folderze ml/. Jeśli ten katalog nie istnieje, Android Studio utworzy go za Ciebie.

Importowanie modelu TensorFlow Lite

Wyświetlanie metadanych i użycia modelu

Aby wyświetlić szczegóły zaimportowanego modelu i uzyskać instrukcje dotyczące jego używania w aplikacji, kliknij dwukrotnie plik modelu w projekcie, aby otworzyć stronę przeglądarki modeli, która zawiera te informacje:

  • Model: ogólny opis modelu.
  • Tensory: opis tensorów wejściowych i wyjściowych.
  • Przykładowy kod: przykład interfejsu modelu w aplikacji

Oto przykład użycia pliku mobilenet_v1_0.25_160_quantized.tflite:

Jak widać na przykładzie, Android Studio tworzy klasę o nazwie MobilenetV1025160Quantized do interakcji z modelem.

Jeśli model nie ma metadanych, na tym ekranie będą dostępne tylko podstawowe informacje.

Znane problemy i sposoby ich obejścia

  • Obsługa modeli TensorFlow Lite w przypadku problemów innych niż klasyfikacja obrazów i transfer stylu jest obecnie ograniczona. Import powinien działać prawidłowo, ale niektóre dane wejściowe lub wyjściowe modelu są reprezentowane przez obiekty TensorBuffer, a nie przez przyjazne typy. W przypadku modeli bez metadanych wszystkie dane wejściowe i wyjściowe będą miały postać TensorBuffer.
  • Modele z typami danych wejściowych i wyjściowych innymi niż DataType.UINT8 lub DataType.FLOAT32 nie są obsługiwane.

Ta funkcja jest nadal w fazie rozwoju, więc prześlij opinię lub zgłoś błędy.

Native Memory Profiler

Profiler pamięci w Android Studio zawiera teraz profiler pamięci natywnej dla aplikacji wdrażanych na urządzeniach fizycznych z Androidem 10 lub nowszym. Za pomocą narzędzia Native Memory Profiler możesz rejestrować alokacje i dealokacje pamięci z kodu natywnego oraz sprawdzać statystyki zbiorcze dotyczące obiektów natywnych.

Nagranie w profilerze pamięci natywnej

Więcej informacji o profilerze pamięci natywnej znajdziesz w artykule Sprawdzanie wykorzystania pamięci przez aplikację za pomocą Memory Profilera.

Znane problemy i sposoby ich obejścia

Profiler pamięci natywnej w Androidzie Studio 4.1 nie działa na urządzeniach z Androidem 11. Obsługa profilowania urządzeń z Androidem 11 jest obecnie dostępna w wersji podglądowej 4.2.

W pierwszej wersji 4.1 profilowanie uruchamiania aplikacji zostało wyłączone. Ta opcja zostanie włączona w kolejnej wersji.

Aby obejść ten problem, możesz użyć samodzielnego profilera wiersza poleceń Perfetto do rejestrowania profili uruchamiania.

Interfejs śledzenia systemu: łatwiejsze wybieranie, nowa karta analizy i więcej danych renderowania klatek

Interfejs śledzenia systemu w profilerze Androida Studio obejmuje te ulepszenia:

  • Zaznaczanie obszaru: w sekcji Wątki możesz teraz przeciągnąć myszą, aby zaznaczyć prostokątny obszar, który możesz powiększyć, klikając przycisk Powiększ zaznaczenie Przycisk powiększania wybranego elementu w profilerach w prawym górnym rogu (lub używając skrótu klawiszowego M). Gdy przeciągniesz i upuścisz podobne wątki obok siebie, możesz wybrać kilka wątków, aby sprawdzić je wszystkie jednocześnie. Możesz na przykład przeprowadzić analizę w wielu wątkach roboczych.

  • Karta Podsumowanie: nowa karta Podsumowanie w panelu Analiza zawiera:

    • zagregowane statystyki wszystkich wystąpień określonego zdarzenia, np. liczbę wystąpień oraz minimalny i maksymalny czas trwania;

    • Statystyki zdarzenia śledzenia dla wybranego wystąpienia.

    • Dane dotyczące rozkładu stanu wątków.

    • Najdłużej trwające wystąpienia wybranego zdarzenia śledzenia.

    Aby przejść do innego wystąpienia, wybierz inny wiersz w tabeli.

  • Dane wyświetlania: w sekcji Wyświetlanie nowe osie czasu dla SurfaceFlinger i VSYNC pomagają badać problemy z renderowaniem w interfejsie aplikacji.

Podstawowe instrukcje dotyczące rejestrowania śledzenia systemu znajdziesz w sekcji Rejestrowanie śladów artykułu Sprawdzanie aktywności procesora za pomocą CPU Profilera.

Dostępne są już samodzielne profilery

Dzięki nowym samodzielnym profilerom możesz teraz profilować aplikację bez uruchamiania pełnego środowiska IDE Android Studio.

Instrukcje korzystania z samodzielnych profilerów znajdziesz w artykule Uruchamianie samodzielnych profilerów.

Obsługa nawigacji Dagger

Działania w IDE umożliwiające przechodzenie do konsumentów i dostawców Daggera

Android Studio ułatwia poruszanie się po kodzie związanym z Daggerem, udostępniając nowe działania na marginesie i rozszerzając obsługę w oknie Znajdź użycia.

  • Nowe działania w obszarze marginesu: w przypadku projektów, które korzystają z Daggera, środowisko IDE udostępnia działania w obszarze marginesu, które pomagają poruszać się po kodzie z adnotacjami Daggera. Na przykład kliknięcie działania w marginesie obok metody, która wykorzystuje dany typ, przenosi Cię do dostawcy tego typu. Z kolei kliknięcie działania w  marginesie przenosi Cię do miejsca, w którym typ jest używany jako zależność.

  • Węzeł Find Usages: gdy wywołasz funkcję Find Usages (Znajdź użycia) w przypadku dostawcy danego typu, w oknie Find (Znajdź) pojawi się węzeł Dependency consumer(s) (Konsumenci zależności), który zawiera listę konsumentów tego typu. Z kolei wywołanie tej czynności w przypadku konsumenta zależności wstrzykiwanej przez Daggera spowoduje, że w oknie Znajdź pojawi się dostawca tej zależności.

Komponenty Material Design: zaktualizowane motywy i style w nowych szablonach projektów

Animacja: tworzenie projektu w Android Studio z nowymi właściwościami Material Design.

Szablony Androida Studio w oknie Utwórz nowy projekt domyślnie korzystają z komponentów Material Design (MDC) i są zgodne z aktualnymi wskazówkami dotyczącymi motywów i stylów. Aktualizacje obejmują:

  • MDC: projekty zależą od com.google.android.material:material w organizacji build.gradle. Motywy aplikacji podstawowej używają Theme.MaterialComponents.* motywów nadrzędnych i zastępują zaktualizowane kolory MDC oraz atrybuty „on”.

  • Zasoby kolorów: zasoby kolorów w colors.xml używają nazw dosłownych (np. purple_500 zamiast colorPrimary).

  • Zasoby motywu: zasoby motywu znajdują się w themes.xml (zamiast styles.xml) i używają nazw Theme.<var><var>.

  • Ciemny motyw: podstawowe motywy aplikacji używają DayNightmotywów nadrzędnych i są podzielone na res/values i res/values-night.

  • Atrybuty motywu: zasoby kolorów są w układach i stylach przywoływane jako atrybuty motywu (np. ?attr/colorPrimary), aby uniknąć zakodowanych na stałe kolorów.

IntelliJ IDEA 2020.1

Główne środowisko IDE Android Studio zostało zaktualizowane o ulepszenia z IntelliJ IDEA do wersji 2020.1, w tym nowe okno Zatwierdź, które umożliwia operacje kontroli wersji, oraz nowy tryb Zen, który można włączyć, wybierając Widok > Wygląd > Włącz tryb bez rozpraszania uwagi.

Więcej informacji o ulepszeniach w wersji 2020.1 znajdziesz w artykule IDEA 2020.1.

Zmiany w katalogu konfiguracji IDE

Lokalizacje katalogów konfiguracji użytkownika zostały zmienione na następujące:

Windows

Składnia: %APPDATA%\Google&lt;product><version>

Przykład: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Składnia: ~/Library/Application Support/Google/<product><version>

Przykład: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Składnia: ~/.config/Google/<product><version>

Przykład: ~/.config/Google/AndroidStudio4.1

Nowe lokalizacje katalogów są zgodne z ostatnimi aktualizacjami IntelliJ IDEA, czyli IDE, na którym opiera się Android Studio.

Jeśli po uaktualnieniu Studio nie uruchomi się ponownie, może być konieczne usunięcie katalogu konfiguracji z poprzedniej wersji Studio. Więcej informacji znajdziesz na stronie znanych problemów.

Kotlin 1.3.72

Android Studio 4.1 zawiera Kotlina 1.3.72, który obejmuje szereg poprawek ulepszających wyróżnianie składni, inspekcje i uzupełnianie kodu w Kotlinie. Szczegółowe informacje znajdziesz w historii zmian w Kotlin w wersji 1.3.72.

Podgląd widoku niestandardowego

Podczas tworzenia widoku niestandardowego (np. przez rozszerzenie klasy View lub Button) Android Studio wyświetla teraz podgląd tego widoku. Za pomocą menu na pasku narzędzi możesz przełączać się między wieloma widokami niestandardowymi. Możesz też klikać przyciski, aby zawijać treści w pionie lub w poziomie.

Wyświetl podgląd widoków niestandardowych w IDE.

Uwaga: jeśli nie widzisz zmian w podglądzie, na pasku menu wybierz Kompilacja > Utwórz projekt.

Symbolizacja natywnych raportów o awariach

Gdy w kodzie natywnym wystąpi awaria lub błąd ANR, system tworzy zrzut stosu, czyli zapis sekwencji funkcji zagnieżdżonych wywołanych w programie do momentu awarii. Takie zapisy mogą Ci pomóc w znalezieniu problemów w źródle i ich naprawieniu, ale najpierw muszą zostać zsymbolizowane, aby przetłumaczyć adresy maszynowe z powrotem na czytelne nazwy funkcji.

Jeśli Twoja aplikacja lub gra została opracowana przy użyciu kodu natywnego, np. języka C++, w Konsoli Play możesz teraz przesyłać pliki symboli debugowania dla każdej wersji aplikacji. Konsola Play używa tych plików do symbolizowania zrzutów stosu aplikacji, co ułatwia analizowanie awarii i błędów ANR. Informacje o przesyłaniu plików symboli do debugowania znajdziesz w artykule Obsługa awarii w kodzie natywnym.

Apply Changes

Aby zwiększyć Twoją produktywność podczas iteracyjnego rozwijania aplikacji, wprowadziliśmy te ulepszenia funkcji Zastosuj zmiany na urządzeniach z Androidem 11 w wersji deweloperskiej 3 lub nowszej:

większe szybkości wdrażania,

Zainwestowaliśmy w optymalizację szybkości iteracji, opracowując metodę wdrażania i utrwalania zmian na urządzeniu bez instalowania aplikacji. Po pierwszym wdrożeniu kolejne wdrożenia na urządzeniach z Androidem 11 za pomocą opcji Zastosuj zmiany w kodzie Ikona Zastosuj zmiany w kodzie lub Zastosuj zmiany i ponownie uruchom aktywność Ikona Zastosuj zmiany i uruchom ponownie są teraz znacznie szybsze.

Więcej informacji o różnicach między tymi 2 działaniami znajdziesz w artykule Zastosuj zmiany.

Obsługa dodatkowych zmian w kodzie

Na urządzeniach z Androidem 11 w wersji przedpremierowej dla programistów 3 lub nowszej możesz teraz dodawać metody, a potem wdrażać te zmiany w uruchomionej aplikacji, klikając Apply Changes Ikona Zastosuj zmiany w kodzie lub Apply Changes and Restart Activity Ikona Zastosuj zmiany i uruchom ponownie.