Android Studio 3.6 (luty 2020 r.)

Android Studio 3.6 to ważna wersja, która zawiera wiele nowych funkcji i ulepszeń.

Chcielibyśmy też podziękować wszystkim osobom z naszej społeczności, które pomogły nam w przygotowaniu tej wersji.

3.6.3 (kwiecień 2020 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.

3.6.2 (marzec 2020 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.

3.6.1 (luty 2020 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.

Narzędzia do projektowania

Ta wersja Androida Studio zawiera aktualizacje kilku narzędzi do projektowania, w tym Edytora układu i Menedżera zasobów.

Widok podzielony i powiększenie w edytorach projektów

widok podzielony wyświetla jednocześnie widok projektu i widok tekstu;

Ta wersja zawiera te aktualizacje edytorów projektu wizualnego:

  • Edytory projektu, takie jak Edytor układu i Edytor nawigacji, udostępniają teraz widok Podzielony, który umożliwia jednoczesne wyświetlanie widoków ProjektKod interfejsu. W prawym górnym rogu okna edytora znajdują się teraz 3 przyciski wyświetlanie ikon, do przełączania opcji wyświetlania:

    • Aby włączyć widok dzielony, kliknij ikonę Podziel ikona widoku dzielonego.
    • Aby włączyć widok źródła XML, kliknij ikonę Źródło ikona widoku źródła,.
    • Aby włączyć widok projektu, kliknij ikonę Projekt ikona widoku projektu.
  • Elementy sterujące powiększaniem i przesuwaniem w edytorach projektów zostały przeniesione do pływającego panelu w prawym dolnym rogu okna edytora.

Więcej informacji znajdziesz w artykule Tworzenie interfejsu za pomocą edytora układu.

Karta zasobów selektora kolorów

Aby ułatwić szybkie aktualizowanie wartości zasobów kolorów w aplikacji podczas korzystania z selektora kolorów w pliku XML lub narzędzi do projektowania, środowisko IDE automatycznie wypełnia wartości zasobów kolorów.

Selektor kolorów z wypełnionymi wartościami kolorów

Resource Manager

Menedżer zasobów zawiera te zmiany:

  • Menedżer zasobów obsługuje teraz większość typów zasobów.
  • Podczas wyszukiwania zasobu Menedżer zasobów wyświetla teraz wyniki ze wszystkich modułów projektu. Wcześniej wyszukiwania zwracały wyniki tylko z wybranego modułu.
  • Przycisk filtra umożliwia wyświetlanie zasobów z lokalnych modułów zależnych, bibliotek zewnętrznych i platformy Android. Możesz też użyć filtra, aby wyświetlić atrybuty motywu.
  • Podczas importowania możesz teraz zmieniać nazwy zasobów, klikając pole tekstowe nad zasobem.

Więcej informacji znajdziesz w artykule Zarządzanie zasobami interfejsu aplikacji za pomocą Menedżera zasobów.

Aktualizacje wtyczki Androida do obsługi Gradle

Najnowsza wersja wtyczki Androida do obsługi Gradle zawiera wiele aktualizacji, w tym optymalizacje szybkości kompilacji, obsługę wtyczki do publikowania w Mavenie i obsługę powiązania widoków. Więcej informacji znajdziesz w pełnej treści informacji o wersji.

Wyświetl powiązanie

Powiązanie widoków ułatwia pisanie kodu, który wchodzi w interakcję z widokami, przez generowanie klasy powiązania dla każdego pliku układu XML. Te klasy zawierają bezpośrednie odwołania do wszystkich widoków, które mają identyfikator w odpowiednim układzie.

Ponieważ zastępuje findViewById(), powiązanie widoku eliminuje ryzyko wystąpienia wyjątków wskaźnika null wynikających z nieprawidłowego identyfikatora widoku.

Aby włączyć powiązanie widoków, musisz używać wtyczki Androida do obsługi Gradle w wersji 3.6.0 lub nowszej i w pliku build.gradle każdego modułu umieścić ten kod:

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Apply Changes

Możesz teraz dodać klasę, a następnie wdrożyć tę zmianę kodu w działającej aplikacji, klikając Zastosuj zmiany w kodzie lub Zastosuj zmiany i zrestartuj aktywność .

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

Zmiana opcji menu, aby włączyć obsługę aplikacji błyskawicznych

Po utworzeniu projektu aplikacji możesz w dowolnym momencie natychmiast włączyć moduł podstawowy w ten sposób:

  1. Otwórz panel Project (Projekt), wybierając na pasku menu View > Tool Windows > Project (Widok > Okna narzędzi > Projekt).
  2. Kliknij prawym przyciskiem myszy moduł podstawowy, zwykle o nazwie „app”, i wybierz Refactor > Enable Instant Apps Support (Przebuduj > Włącz obsługę aplikacji błyskawicznych).
  3. W wyświetlonym oknie wybierz moduł podstawowy z menu.
  4. Kliknij OK.

Uwaga: opcja natychmiastowego włączania modułu aplikacji podstawowej w kreatorze Utwórz nowy projekt została usunięta.

Więcej informacji znajdziesz w omówieniu aplikacji błyskawicznych w Google Play.

Deobfuskacja kodu bajtowego klas i metod w narzędziu APK Analyzer

Podczas sprawdzania plików DEX za pomocą Analizatora APK możesz odczytywać zaciemniony kod bajtowy klas i metod w ten sposób:

  1. Na pasku menu wybierz Build > Analyze APK (Utwórz > Przeanalizuj pakiet APK).
  2. W wyświetlonym oknie przejdź do pliku APK, który chcesz sprawdzić, i wybierz go.
  3. Kliknij Otwórz.
  4. W Analizatorze APK wybierz plik DEX, który chcesz sprawdzić.
  5. W przeglądarce plików DEX wczytaj plik mapowań ProGuard dla analizowanego pliku APK.
  6. Kliknij prawym przyciskiem myszy klasę lub metodę, którą chcesz sprawdzić, i wybierz Pokaż kod bajtowy.

Narzędzia natywne

Poniższe aktualizacje obsługują programowanie w języku natywnym (C/C++) w Android Studio.

Obsługa języka Kotlin

Te funkcje NDK w Android Studio, które były wcześniej obsługiwane w Javie, są teraz obsługiwane również w Kotlinie:

  • Przechodzenie od deklaracji JNI do odpowiedniej funkcji implementacji w C/C++. Aby wyświetlić to mapowanie, najedź kursorem na znacznik elementu C lub C++ w pobliżu numeru wiersza w zarządzanym pliku kodu źródłowego.

  • Automatycznie tworzy funkcję implementacji stub dla deklaracji JNI. Najpierw zdefiniuj deklarację JNI, a potem wpisz „jni” lub nazwę metody w pliku C/C++, aby ją aktywować.

  • Nieużywane funkcje implementacji natywnej są w kodzie źródłowym wyróżnione jako ostrzeżenie. Deklaracje JNI bez implementacji są również wyróżniane jako błąd.

  • Gdy zmienisz nazwę (przeprowadzisz refaktoryzację) funkcji implementacji natywnej, wszystkie odpowiednie deklaracje JNI zostaną zaktualizowane. Zmień nazwę deklaracji JNI, aby zaktualizować funkcję implementacji natywnej.

  • Sprawdzanie sygnatur w przypadku implementacji JNI powiązanych w sposób dorozumiany.

Inne ulepszenia JNI

Edytor kodu w Android Studio obsługuje teraz bardziej płynny proces programowania JNI, w tym ulepszone podpowiedzi dotyczące typów, autouzupełnianie, sprawdzanie i refaktoryzację kodu.

Ponowne wczytywanie pliku APK w przypadku bibliotek natywnych {:#3.6-reload-apk}

Nie musisz już tworzyć nowego projektu, gdy plik APK w projekcie zostanie zaktualizowany poza środowiskiem IDE. Android Studio wykrywa zmiany w pliku APK i umożliwia jego ponowne zaimportowanie.

Dołączanie źródeł pliku APK zawierających tylko kod Kotlin

Podczas profilowania i debugowania wstępnie skompilowanych plików APK można teraz dołączać zewnętrzne źródła plików APK zawierające tylko kod Kotlin. Więcej informacji znajdziesz w artykule Dołączanie źródeł Kotlin/Java.

Wykrywanie wycieków w Narzędziu do profilowania pamięci

Podczas analizowania zrzutu sterty w profilerze pamięci możesz teraz filtrować dane profilowania, które według Androida Studio mogą wskazywać wycieki pamięci w przypadku instancji ActivityFragment w aplikacji.

Filtr wyświetla te typy danych:

  • Instancje Activity, które zostały zniszczone, ale nadal są do nich odwołania.
  • Instancje Fragment, które nie mają prawidłowego adresu FragmentManager, ale nadal są do nich odwołania.

Dołączanie źródeł pliku APK zawierających tylko kod Kotlin

Podczas profilowania i debugowania wstępnie skompilowanych plików APK można teraz dołączać zewnętrzne źródła plików APK zawierające tylko kod Kotlin. Więcej informacji znajdziesz w artykule Dołączanie źródeł Kotlin/Java.

Wykrywanie wycieków w Narzędziu do profilowania pamięci

Podczas analizowania zrzutu sterty w profilerze pamięci możesz teraz filtrować dane profilowania, które według Androida Studio mogą wskazywać wycieki pamięci w przypadku instancji ActivityFragment w aplikacji.

Filtr wyświetla te typy danych:

  • Instancje Activity, które zostały zniszczone, ale nadal są do nich odwołania.
  • instancje Fragment, które nie mają prawidłowego FragmentManager, ale nadal są do nich odwołania.

W niektórych sytuacjach, np. w tych poniżej, filtr może generować fałszywe dopasowania:

  • Utworzono Fragment, ale nie został on jeszcze użyty.
  • Fragment jest buforowany, ale nie w ramach FragmentTransaction.

Aby skorzystać z tej funkcji, najpierw zrób zrzut sterty lub zaimportuj plik zrzutu sterty do Android Studio. Aby wyświetlić fragmenty i działania, które mogą powodować wycieki pamięci, w okienku zrzutu sterty w profilerze pamięci zaznacz pole wyboru Activity/Fragment Leaks (Wycieki działań/fragmentów).

Profiler: wykrywanie wycieków pamięci

Filtrowanie zrzutu sterty pod kątem wycieków pamięci.

Emulatory

Android Studio 3.6 umożliwia korzystanie z kilku aktualizacji zawartych w Android Emulatorze 29.2.7 i nowszych, które opisujemy poniżej.

Ulepszona obsługa lokalizacji

Emulator Androida w wersji 29.2.7 i nowszych zapewnia dodatkową obsługę emulacji współrzędnych GPS i informacji o trasie. Gdy otworzysz Emulatory – rozszerzone opcje sterowania, opcje na karcie Lokalizacja będą teraz uporządkowane na 2 kartach: Pojedyncze punktyTrasy.

Pojedyncze punkty

Na karcie Pojedyncze punkty możesz użyć widoku internetowego Map Google, aby wyszukać interesujące Cię miejsca, tak jak w przypadku korzystania z Map Google na telefonie lub w przeglądarce. Gdy wyszukasz lub klikniesz lokalizację na mapie, możesz ją zapisać, wybierając opcję Zapisz punkt u dołu mapy. Wszystkie zapisane lokalizacje są wymienione po prawej stronie okna Rozszerzone ustawienia.

Aby ustawić lokalizację emulatorów na lokalizację wybraną na mapie, kliknij przycisk Ustaw lokalizację w prawym dolnym rogu okna Rozszerzone elementy sterujące.

Karta pojedynczych punktów w rozszerzonych elementach sterujących emulatora..

Trasy

Podobnie jak karta Pojedyncze punkty, karta Trasy zawiera widok internetowy Map Google, w którym możesz utworzyć trasę między co najmniej 2 lokalizacjami. Aby utworzyć i zapisać trasę:

  1. W widoku mapy użyj pola tekstowego, aby wyszukać pierwszy cel na trasie.
  2. Wybierz lokalizację z wyników wyszukiwania.
  3. Kliknij przycisk Nawiguj.
  4. Wybierz na mapie punkt początkowy trasy.
  5. (Opcjonalnie) Kliknij Dodaj miejsce docelowe, aby dodać do trasy dodatkowe przystanki.
  6. Zapisz trasę, klikając Zapisz trasę w widoku mapy.
  7. Wpisz nazwę trasy i kliknij Zapisz.

Aby zasymulować podążanie przez emulator zapisaną trasą, wybierz ją z listy Zapisane trasy i kliknij Odtwórz trasę w prawym dolnym rogu okna Rozszerzone ustawienia. Aby zatrzymać symulację, kliknij Zatrzymaj trasę.

Karta Trasy w rozszerzonych elementach sterujących emulatora..

Aby ciągle symulować działanie emulatora na określonej trasie, włącz przełącznik obok opcji Powtórz odtwarzanie. Aby zmienić szybkość, z jaką emulator podąża wyznaczoną trasą, wybierz opcję z menu Szybkość odtwarzania.

Obsługa wielu wyświetlaczy

Emulator Androida umożliwia teraz wdrażanie aplikacji na wielu wyświetlaczach, które obsługują wymiary z możliwością dostosowania i mogą pomóc w testowaniu aplikacji obsługujących wiele okienwiele wyświetlaczy. Podczas działania urządzenia wirtualnego możesz dodać maksymalnie 2 dodatkowe wyświetlacze w ten sposób:

  1. Otwórz Rozszerzone ustawienia i przejdź na kartę Wyświetlacze.

  2. Dodaj kolejny wyświetlacz, klikając Dodaj wyświetlacz dodatkowy.

  3. W menu pod nagłówkiem Wyświetlacze dodatkowe wykonaj jedną z tych czynności:

  4. Wybierz jeden z gotowych formatów obrazu.

  5. Wybierz niestandardowy i ustaw wysokość, szerokośćdpi dla wyświetlacza niestandardowego.

  6. (Opcjonalnie) Aby dodać trzeci wyświetlacz, kliknij Dodaj wyświetlacz dodatkowy.

  7. Aby dodać określone wyświetlacze do uruchomionego urządzenia wirtualnego, kliknij Zastosuj zmiany.

Dodaj wiele wyświetlaczy na karcie Wyświetlacz rozszerzonych elementów sterujących emulatora.

Nowe urządzenia wirtualne i szablony projektów dla systemu operacyjnego Android Automotive

Podczas tworzenia nowego projektu w Android Studio możesz teraz wybrać jeden z 3 szablonów na karcie Automotive w kreatorze Utwórz nowy projekt: No Activity, Media serviceMessaging service. W przypadku istniejących projektów możesz dodać obsługę urządzeń z Androidem Automotive, wybierając z paska menu Plik > Nowy > Nowy moduł i klikając Moduł Automotive. Kreator Utwórz nowy moduł przeprowadzi Cię przez proces tworzenia nowego modułu za pomocą jednego z szablonów projektu Android Automotive.

Wybieranie szablonu projektu Androida Automotive..

Możesz też utworzyć urządzenie wirtualne z Androidem (AVD) na urządzenia z systemem operacyjnym Android Automotive, wybierając jedną z tych opcji na karcie Automotive w kreatorze Konfiguracja urządzenia wirtualnego.

  1. Polestar 2: utwórz AVD, który emuluje jednostkę główną Polestar 2.
  2. Automotive (1024p landscape): utwórz AVD dla ogólnych jednostek głównych Androida Automotive o rozdzielczości 1024 x 768 pikseli.

Wybieranie wirtualnego urządzenia z Androidem Automotive..

Wznawianie pobierania pakietu SDK

Podczas pobierania komponentów i narzędzi pakietu SDK za pomocą Menedżera SDK Android Studio umożliwia teraz wznawianie przerwanych pobrań (np. z powodu problemu z siecią) zamiast ponownego rozpoczynania pobierania od początku. To ulepszenie jest szczególnie przydatne w przypadku dużych plików do pobrania, takich jak emulator Androida czy obrazy systemu, gdy połączenie z internetem jest niestabilne.

Jeśli w tle działa zadanie pobierania pakietu SDK, możesz teraz wstrzymać lub wznowić pobieranie za pomocą elementów sterujących na pasku stanu.

Zadanie pobierania w tle na pasku stanu z nowymi elementami sterującymi, które umożliwiają wstrzymanie lub wznowienie pobierania.

Zadanie pobierania w tle na pasku stanu z nowymi elementami sterującymi, które umożliwiają wstrzymanie lub wznowienie pobierania.

Wycofanie Win32

32-bitowa wersja Androida Studio na Windowsa nie będzie już otrzymywać aktualizacji po grudniu 2019 r., a po grudniu 2020 r. nie będzie już obsługiwana. Możesz nadal korzystać z Androida Studio. Aby otrzymywać dodatkowe aktualizacje, przejdź na 64-bitową wersję systemu Windows.

Więcej informacji znajdziesz na blogu o wycofaniu 32-bitowej wersji systemu Windows.

Nowa opcja optymalizacji czasu synchronizacji Gradle

W poprzednich wersjach Android Studio pobierało listę wszystkich zadań Gradle podczas synchronizacji Gradle. W przypadku dużych projektów pobieranie listy zadań może powodować wydłużenie czasu synchronizacji.

Aby poprawić wydajność synchronizacji Gradle, kliknij Plik > Ustawienia > Eksperymentalne i wybierz Nie twórz listy zadań Gradle podczas synchronizacji Gradle.

Gdy włączysz tę opcję, Android Studio pominie tworzenie listy zadań podczas synchronizacji, co pozwoli szybciej ukończyć synchronizację Gradle i poprawi szybkość reakcji interfejsu. Pamiętaj, że jeśli IDE pominie tworzenie listy zadań, listy zadań w panelu Gradle będą puste, a autouzupełnianie nazw zadań w plikach kompilacji nie będzie działać.

Nowe miejsce, w którym można przełączać tryb offline Gradle

Aby włączyć lub wyłączyć tryb offline Gradle, najpierw na pasku menu kliknij Widok > Okna narzędzi > Gradle. Następnie u góry okna Gradle kliknij Przełącz tryb offline Przycisk Gradle offline w panelu Gradle..

IntelliJ IDEA 2019.2

Główne środowisko IDE Android Studio zostało zaktualizowane o ulepszenia z IntelliJ IDEA w ramach wersji 2019.2.

Więcej informacji o ulepszeniach z innych wersji IntelliJ, które są uwzględnione łącznie w wersji 2019.2, znajdziesz na tych stronach:

Współtwórcy społeczności

Dziękujemy wszystkim członkom naszej społeczności, którzy pomogli nam odkryć błędy i inne sposoby ulepszenia Androida Studio 3.6. W szczególności dziękujemy za zgłoszenie błędów tym osobom:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Rusłan Baratow
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers