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 powiązanym poście na blogu o aktualizacjach wersji.

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 Database Inspector

Za pomocą nowego Database Inspector możesz sprawdzać bazy danych w uruchomionej aplikacji, wysyłać do nich zapytania i je modyfikować. Aby rozpocząć, wdróż aplikację na urządzeniu z poziomem interfejsu API 26 lub nowszym i na pasku menu wybierz View > Tool Windows > Database Inspector (Widok > Okna narzędzi > Database Inspector).

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

Uruchamianie Android Emulator bezpośrednio w Android Studio

Możesz teraz uruchamiać Android Emulator bezpośrednio w Android Studio. Ta funkcja pozwala oszczędzać miejsce na ekranie, szybko przełączać się między emulatorem a oknem edytora za pomocą skrótów klawiszowych oraz organizować proces pracy w IDE i emulatorze w jednym oknie aplikacji.

Emulator uruchomiony w oknie narzędziowym w Android Studio.

Więcej informacji znajdziesz w dokumentacji emulatora Androida.

Korzystanie z modeli TensorFlow Lite

Powiązanie modelu ML ułatwia bezpośrednie importowanie plików modelu .tflite 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.

W TensorFlow Hub dostępna jest szeroka gama wstępnie wytrenowanych modeli z metadanymi na TensorFlow Hub. Możesz też samodzielnie dodać metadane do modelu TensorFlow Lite, jak opisano w Dodawanie metadanych do modelu TensorFlow Lite.

Importowanie pliku modelu

Aby zaimportować obsługiwany plik modelu:

  1. W menu File (Plik) otwórz okno importowania modelu TensorFlow Lite, klikając File > New > Other > TensorFlow Lite Model (Plik > Nowy > Inne > Model TensorFlow Lite).
  2. Wybierz plik modelu .tflite, który został wcześniej pobrany lub utworzony.
  3. Kliknij Finish (Zakończ).

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

Importowanie modelu TensorFlow Lite

Wyświetlanie metadanych i użycia modelu

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

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

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

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

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

Znane problemy i obejścia

  • Obsługa modeli TensorFlow Lite w przypadku obszarów problemowych innych niż klasyfikacja obrazów i transfer stylu jest obecnie ograniczona. Importowanie powinno działać prawidłowo, ale niektóre dane wejściowe i wyjściowe modelu są reprezentowane przez TensorBuffers, a nie przez przyjazne typy. W przypadku modeli bez metadanych wszystkie dane wejściowe i wyjściowe będą TensorBuffers.
  • 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 prosimy o przesyłanie opinii i zgłaszanie błędów.

Natywny Memory Profiler

Memory Profiler w Android Studio zawiera teraz natywny Memory Profiler dla aplikacji wdrożonych na urządzeniach fizycznych z Androidem 10 lub nowszym. Za pomocą natywnego 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 natywnym Memory Profiler znajdziesz w artykule Sprawdzanie wykorzystania pamięci przez aplikację za pomocą Memory Profiler.

Znane problemy i obejścia

Natywny Memory Profiler w Android 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 4.2".

W początkowej 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: łatwiejszy wybór, nowa karta analizy i więcej danych o renderowaniu klatek

Interfejs śledzenia systemu w profilerze Android Studio zawiera te ulepszenia:

  • Wybór prostokątny: w sekcji Threads (Wątki) możesz teraz przeciągać myszą, aby zaznaczyć prostokątny obszar, który możesz powiększyć, klikając przycisk Zoom to Selection (Powiększ do zaznaczenia) Przycisk powiększania wybranego elementu w profilerach w prawym górnym rogu (lub użyć skrótu klawiszowego M). Gdy przeciągniesz i upuścisz podobne wątki obok siebie, możesz zaznaczyć kilka wątków, aby sprawdzić je wszystkie naraz. Możesz na przykład przeprowadzić analizę kilku wątków roboczych.

  • Karta podsumowania: nowa karta Summary (Podsumowanie) w panelu Analysis (Analiza) wyświetla:

    • statystyki zbiorcze wszystkich wystąpień określonego zdarzenia, takie jak an liczba wystąpień oraz minimalny i maksymalny czas trwania;

    • statystyki zdarzeń śledzenia dla wybranego wystąpienia;

    • dane o rozkładzie 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.

  • Wyświetlanie danych: w sekcji Display (Wyświetlanie) nowe osie czasu dla SurfaceFlinger i VSYNC pomagają w analizowaniu problemów z renderowaniem w interfejsie aplikacji.

Podstawowe instrukcje dotyczące rejestrowania śledzenia systemu znajdziesz w sekcji Rejestrowanie śladów w artykule Sprawdzanie aktywności procesora za pomocą CPU Profiler.

Dostępne są teraz samodzielne profilerzy

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

Instrukcje dotyczące 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 dzięki nowym działaniom w rynnie i rozszerzeniu obsługi w oknie Find Usages.

  • Nowe działania w rynnie: w przypadku projektów, które używają Daggera, IDE udostępnia działania w rynnie które ułatwiają poruszanie się po kodzie z adnotacjami Daggera. Na przykład, kliknięcie działania w rynnie obok metody, która korzysta z danego typu, powoduje przejście do dostawcy tego typu. Z kolei kliknięcie działania w rynnie powoduje przejście do miejsca, w którym typ jest używany jako zależność.

  • Węzeł Find Usages: gdy wywołasz Find Usages (Znajdź użycia) w przypadku dostawcy danego typu, okno Find (Znajdź) będzie teraz zawierać węzeł Dependency consumer(s (Odbiorcy zależności), który zawiera listę odbiorców tego typu. Z kolei wywołanie tego działania w przypadku odbiorcy zależności wstrzykiwanej przez Daggera spowoduje, że w oknie Find (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 Android Studio w oknie Create New Project (Utwórz nowy projekt) używają teraz komponentów Material Design (MDC) i domyślnie są zgodne ze zaktualizowanymi wskazówkami dotyczącymi motywów i stylów. Aktualizacje obejmują:

  • MDC: projekty zależą od com.google.android.material:material w build.gradle. Podstawowe motywy aplikacji używają Theme.MaterialComponents.* elementów nadrzędnych i zastępują zaktualizowane atrybuty kolorów i „on” MDC.

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

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

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

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

IntelliJ IDEA 2020.1

Podstawowe środowisko IDE Android Studio zostało zaktualizowane o ulepszenia z IntelliJ IDEA do wersji 2020.1, w tym nowe okno Commit (Zatwierdź) które umożliwia wykonywanie operacji kontroli wersji, oraz nowy tryb Zen, który można włączyć wybierając View > Appearance > Enter Distraction Free Mode (Widok > Wygląd > Włącz tryb bez rozpraszania).

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 te:

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

Te nowe lokalizacje katalogów są zgodne z najnowszymi aktualizacjami IntelliJ IDEA, czyli środowiska 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 Znane problemy.

Kotlin 1.3.72

Android Studio 4.1 zawiera Kotlin 1.3.72, który obejmuje szereg poprawek zwiększających wydajność podświetlania, sprawdzania i uzupełniania kodu w Kotlinie. Szczegółowe informacje znajdziesz w dzienniku zmian Kotlin 1.3.72.

Podgląd widoku niestandardowego

Podczas tworzenia widoku niestandardowego (np. przez rozszerzenie klasy View lub Button) Android Studio wyświetla teraz jego podgląd. Za pomocą menu na pasku narzędzi możesz przełączać się między kilkoma widokami niestandardowymi lub klikać przyciski, aby zawijać zawartość pionowo lub poziomo.

Wyświetlaj podgląd widoków niestandardowych w środowisku IDE.

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

Symbolizacja raportów o awariach natywnych

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 problemu w źródle i jego naprawieniu, ale najpierw trzeba je zsymbolizować, 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 przesł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. Jak przesłać pliki symboli debugowania, dowiesz się z artykułu Obsługa awarii natywnych.

Apply Changes

Aby zwiększyć Twoją produktywność podczas iteracji aplikacji, wprowadziliśmy te ulepszenia funkcji Apply Changes na urządzeniach z Androidem 11 w wersji przedpremierowej dla programistów 3 lub nowszym:

Szybsze wdrażanie

Włożyliśmy wiele wysiłku w optymalizację szybkości iteracji, opracowując metodę wdrażania i utrwalania zmian na urządzeniu bez instalowania aplikacji. Po początkowym wdrożeniu kolejne wdrożenia na urządzeniach z Androidem 11 za pomocą opcji Apply Code Changes Ikona Zastosuj zmiany w kodzie lub Apply Changes and Restart Activity Ikona Zastosuj zmiany i uruchom ponownie aktywność są teraz znacznie szybsze.

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

Obsługa dodatkowych zmian w kodzie

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