Android Studio 3.1 (marzec 2018 r.)

Android Studio 3.1.0 to duża wersja, która zawiera wiele nowych funkcje i ulepszenia.

3.1.4 (sierpień 2018 r.)

Aktualizacja Android Studio 3.1 obejmuje następujące zmiany i poprawki:

  • Pakiet Kotlin jest teraz w wersji 1.2.50.
  • Nowe projekty są tworzone za pomocą artefaktów kotlin-stdlib-jdk* artifacts, a nie kotlin-stdlib-jre*, które są wycofywane.
  • Ulepszono analizę R8 reguł ProGuard.
  • Naprawiliśmy te błędy:
    • Próba uruchomienia klasy Kotlin Main zakończyła się błędem: "Error: Could not find or load main class..."
    • R8 wchodził w nieskończoną pętlę podczas wykonywania pewnych optymalizacji.
    • użycie polecenia Uruchom ponownie nieudane testy w oknie Uruchom; Czasami zwracano błędnie komunikat „Nie znaleziono testów”.
    • Usługa D8 nie obsługiwała prawidłowo invoke-virtual instancji, powodująca wypadek z VerifyError: invoke-super/virtual can't be used on private method
    • Kompilator wiązań danych działał na podstawie starej wersji com.android.tools:annotations Kompilator używa teraz adnotacje narzędziowe z projektu podstawowego, jeśli są dostępne.
    • Android Studio uległ awarii podczas przechodzenia między fragmentami w przypadku użycia z profilami.
    • Debuger uległ awarii podczas debugowania układu z polem tekstowym.
    • D8 nie może odczytać niektórych plików ZIP zawierających znaki specjalne.

3.1.3 (czerwiec 2018 r.)

Aktualizacja Android Studio 3.1 zawiera poprawki następujących błędów:

  • Wycieki pamięci powodowały, że po użyciu edytora układu Android Studio działało wolno i nie reagowało. Ta aktualizacja zawiera poprawki dla większości z tych problemów. Planujemy wkrótce opublikować kolejną aktualizację i rozwiązać dodatkowe wycieki pamięci.
  • Na niektórych tabletach Verizon Ellipsis niektóre aplikacje stworzone przy użyciu D8 uległy awarii.
  • Instalacja aplikacji utworzonych w wersji D8 nie powiodła się przy użyciu INSTALL_FAILED_DEXOPT błąd na urządzeniach z Androidem 5.0 lub 5.1 (poziom API 21 lub 22).
  • Niektóre aplikacje, które korzystały z biblioteki OkHttp i zostały utworzone w środowisku D8 awaria na urządzeniach z Androidem 4.4 (poziom interfejsu API 19).
  • Czasami nie można było uruchomić Androida Studio. ProcessCanceledException podczas inicjowania zajęć dla com.intellij.psi.jsp.JspElementType

3.1.2 (kwiecień 2018 r.)

Ta aktualizacja Android Studio 3.1 zawiera poprawki tych błędów:

  • W niektórych przypadkach usługa Android Studio była zawieszana na stałe podczas zamykania.
  • Kompilacje skonfigurowane z użyciem zbiorów źródłowych nie udało się wyświetlić tego komunikatu, gdy było włączone natychmiastowe uruchamianie:

    "The SourceSet name is not recognized by the Android Gradle Plugin."

  • Gdy włączone było błyskawiczne uruchamianie, kompilacje nowych projektów Kotlin nie powiodły się, uruchamianych przez polecenie Uruchom.
  • Podczas edytowania pliku build.gradle czasami pojawiały się zauważalne opóźnienie między wpisaniem znaku a jego pojawieniem się na ekranie.
  • W niektórych projektach z dużymi błędami podczas dexingu wystąpiły błędy kompilacji liczby modułów lub zależności zewnętrznych z następującym błędem: wiadomość:

    "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

  • Podczas obliczania głównej listy DEX D8 nie uwzględniono niektórych refleksyjne wywołania.

Ta aktualizacja obejmuje też zmiany, które uruchamiają sprawdzanie lint z Gradle może działać znacznie szybciej.

3.1.1 (kwiecień 2018 r.)

Ta aktualizacja Android Studio 3.1 zawiera poprawki tych błędów:

  • W niektórych przypadkach, gdy projekt utworzony w Android Studio 3.0 został otwarty po raz pierwszy w Android Studio 3.1, zadanie Make obsługujące Gradle zostało usunięte z obszaru Przed uruchomieniem w sekcji Konfiguracje uruchamiania/debugowania. W rezultacie projekty nie tworzyły się, gdy Kliknięto przycisk Uruchom lub Debuguj, co z kolei spowodowało błędów, takich jak nieprawidłowe wdrożenia plików APK i awarie podczas korzystania Błyskawiczne uruchamianie.

    Aby rozwiązać ten problem, w Android Studio 3.1.1 dodano zadanie Make uwzględniające Gradle do konfiguracji uruchomienia w przypadku projektów, w których brakuje tego wpisu. Ta modyfikacja ma miejsce po pierwszej synchronizacji Gradle, gdy projekt wczytano.

  • Debuger ulegał awarii podczas debugowania układu z polem tekstowym, jeśli włączone było profilowanie zaawansowane.
  • Usługa Android Studio zawiesiła się po kliknięciu Utwórz warianty.
  • Pliki AAR (archiwum Androida) zostały wyodrębnione dwukrotnie: raz podczas procesu synchronizacji Gradle i raz podczas procesu kompilacji Gradle.
  • W niektórych wektorowych obiektach rysunkowych zaimportowanych z plików SVG brakowało elementów.
  • Ostrzeżenie dotyczące wycofania usługi compile zaktualizowaliśmy konfigurację zależności o lepsze wskazówki dotyczące konfiguracje implementation i api. Dla: szczegóły rezygnacji z korzystania z compile konfiguracji, zapoznaj się z dokumentacji nowych konfiguracji zależności.

Kodowanie/IDE

IntelliJ 2017.3.3

Podstawowe IDE Android Studio zostało zaktualizowane o ulepszenia od IntelliJ IDEA do wersji 2017.3.3. Usprawnienia obejmują większą kontrolę analiza zbiorów i ciągów znaków, poprawione wnioskowanie o wartości null, nowe szybkie i wielu innych.

Więcej informacji znajdziesz w informacjach o wersji JetBrains dla wersji IntelliJ IDEA 2017.2 i 2017.3, jak oraz informacje o wersji Jetbrains poprawki błędów.

Ulepszenia edycji SQL z Pokój

Jeśli używasz tagu bibliotekę bazy danych sal, możesz skorzystać z kilku udoskonaleń edycji SQL:

  • Uzupełnianie kodu w elemencie Query rozumie tabele (elementy), kolumny, parametry zapytań, aliasy złączenia, zapytania podrzędne i klauzule WITH.
  • Wprowadzono wyróżnianie składni SQL.
  • Możesz kliknąć prawym przyciskiem myszy nazwę tabeli w SQL i zmienić jej nazwę, co spowoduje też przepisanie odpowiedniego kodu Java lub Kotlin (w tym m.in. typu zwracanego przez zapytanie). A zmiana nazwy działa w drugą stronę, dlatego zmiana nazwy klasy lub pola w Javie powoduje przepisanie w kodzie.
  • Użycia kodu SQL są wyświetlane po kliknięciu Znajdź użycia (kliknij prawym przyciskiem myszy i w menu kontekstowym wybierz Znajdź użycia).
  • Aby przejść do deklaracji encji SQL w kodzie Java lub Kotlin, przytrzymaj Control (Command na Macu) i kliknij ten element.

Informacje o używaniu SQL w Room znajdziesz w artykule Zapisywanie danych w lokalnej bazie danych za pomocą Room.

Zmiany w wiązaniu danych

Ta aktualizacja zawiera kilka ulepszeń dotyczących wiązania danych:

  • Teraz możesz używać LiveData jako możliwe do obserwacji pole w wyrażeniach wiązania danych. ViewDataBinding klasa zawiera teraz nową metodę setLifecycle(), której używasz obserwować, LiveData obiektów.

  • ObservableField zajęcia mogą teraz przyjmować inne Observable w jego konstruktorze.

  • Możesz wyświetlić podgląd nowego kompilatora przyrostowego do wiązania danych zajęcia. Informacje o nowym kompilatorze i instrukcje jego włączania go, zobacz Data Binding Compiler V2.

    Oto niektóre zalety nowego kompilatora:

    • ViewBinding zajęcia zostały wygenerowane przez Androida Wtyczka do Gradle przed kompilatorem Java.
    • Biblioteki zachowują wygenerowane klasy wiązania po skompilowaniu aplikacji, zamiast generować je za każdym razem. Może to spowodować znacznie poprawia wydajność w projektach wielomodułowych.

Kompilator i Gradle

D8 to domyślny pakiet DEX. kompilator

Kompilator D8 jest teraz domyślnie używany do generowania kodu bajtowego DEX.

Nowy kompilator DEX zapewnia kilka korzyści, w tym:

  • Szybsze dekodowanie
  • Mniejsze wykorzystanie pamięci
  • Ulepszone generowanie kodu (lepsze przydzielanie rejestru, inteligentniejszy ciąg znaków tabele)
  • Lepsze debugowanie podczas przechodzenia przez kod

Nie musisz wprowadzać żadnych zmian w kodzie ani programowaniu. aby uzyskać te korzyści, chyba że wcześniej ręcznie wyłączono kompilator D8.

Jeśli ustawisz wartość false na: android.enableD8 gradle.properties, usuń tę flagę lub ustaw ją na true:

        android.enableD8=true
      

Więcej informacji: Nowy kompilator DEX.

Przyrostowy desugaring

W projektach, w których używa się funkcji funkcje języka w języku Java 8, domyślnie włączone jest przyrostowe odsłuchiwanie, co może poprawić kompilację razy.

Desugaring konwertuje syntaktyczne ulepszenia do postaci, którą kompilator może przetworzyć wydajniej.

Aby wyłączyć przyrostowe odsłuchiwanie, określ następujące parametry w plik gradle.properties Twojego projektu:

        android.enableIncrementalDesugaring=false
      

Uproszczone okno wyjściowe

Konsola Gradle została zastąpiona oknem Generowanie, które zawiera karty SynchronizacjaGenerowanie.

Szczegółowe informacje na temat korzystania z nowego, uproszczonego okna kompilacji znajdziesz: Więcej informacji:Monitorowanie kompilacji .

Zbiorcze aktualizacje i indeksowanie równoczesność

Procesy synchronizacji Gradle i indeksowania IDE są teraz znacznie wydajniejsze, i zmniejsza ilość czasu marnowanego na wiele nadmiarowych operacji indeksowania.

C++ i LLDB

Poprawiliśmy jakość i wydajność w kodowaniu, synchronizacji, podczas tworzenia i debugowania – programowania w języku C++. Udoskonalenia obejmują :

  • Jeśli pracujesz nad dużymi projektami C++, zauważysz znaczne skrócenie czasu potrzebnego na tworzenie symboli. Czas synchronizacji też jest bardzo krótki tylko w przypadku dużych projektów.

  • Poprawiliśmy wydajność kompilacji i synchronizacji za pomocą CMake dzięki bardziej agresywnemu ponownemu używaniu wyników z pamięci podręcznej.

  • Dodanie programów formatujących („ładnych drukarek”) zapewniających więcej struktur danych w C++ ułatwia czytanie danych wyjściowych LLDB.

  • LLDB działa teraz tylko z Androidem 4.1 (poziom API 16) i wyższe.

Uwaga: debugowanie natywne w Android Studio 3.0 lub nowszej wersji nie działa w systemie Windows w wersji 32-bitowej. Jeśli używasz 32-bitowej wersji systemu Windows i musisz debugować kod natywny, użyj Android Studio 2.3.

Kotlin

Kotlin został uaktualniony do wersji 1.2.30

Android Studio 3.1 zawiera Kotlin w wersji 1.2.30.

Kod Kotlina jest teraz analizowany za pomocą kontroli lint w wierszu poleceń

Uruchamianie lint z wiersza poleceń analizuje teraz klasy Kotlina.

W przypadku każdego projektu, w którym chcesz uruchomić lintowanie, Specjalista Google repozytorium musi być uwzględnione w build.gradle najwyższego poziomu . Repozytorium Maven jest już uwzględnione w przypadku projektów tworzonych w Android Studio 3.0 lub nowszy.

Narzędzia do pomiaru skuteczności

Przykładowe rdzenne procesy C++ z profilowaniem procesora

aplikacja CPU Profiler, zawiera domyślną konfigurację do rejestrowania próbkowanych logów czasu wątkach natywnych. Aby użyć tej konfiguracji, wdróż aplikację w urządzenie z Androidem 8.0 (poziom interfejsu API 26) lub nowszym i wybierz Próbkowane (natywne) z nagrania programu profilującego procesora menu konfiguracji. Następnie nagraj i przejrzyj ślad w zwykły sposób.

Możesz zmienić ustawienia domyślne, takie jak interwał próbkowania, przez tworząc konfiguracji nagrywania.

Aby wrócić do śledzenia wątków Javy, wybierz konfigurację Sampled (Java) lub Instrumented (Java).

Filtruj ślady procesora i pamięci wyniki alokacji i zrzuty stosu

Profilowanie procesoraprofilowanie pamięci zawierają funkcję wyszukiwania, która umożliwia filtrowanie wyników z rejestrowania śledzenia metody, alokacji pamięci lub zrzutu stosu.

Aby przeprowadzić wyszukiwanie, w prawym górnym rogu okna kliknij Filtr, wpisz zapytanie i naciśnij klawisz Enter.

Wskazówka: pole wyszukiwania możesz też otworzyć, naciskając Control + F (Command + F na Macu).

Na karcie Wykres płaski na karcie programu profilującego procesora znajdziesz stosy wywołań zawierające metody związane z wyszukiwanym hasłem są podświetlone i przeniesione w lewo obok wykresu.

Więcej informacji o filtrowaniu według metody, klasy lub nazwy pakietu znajdziesz w artykule Rejestruj i sprawdzaj ślady metod

Karta Request (Żądanie) w narzędziu Network Profiler

program profilujący sieci, zawiera teraz kartę Żądanie ze szczegółowymi informacjami o sieci żądań w wybranym okresie. W poprzednich wersjach Network Profiler udostępniał tylko informacje o odpowiedziach sieci.

Widok wątku w narzędziu do profilowania sieci

Po wybraniu fragmentu osi czasu w Network Profiler, możesz wybrać jedną z na kolejnych kartach, aby uzyskać więcej szczegółowych informacji na temat aktywności sieci w termin:

  • Widok połączenia: zawiera te same informacje co poprzednie wersje Android Studio – zawiera listę plików wysłanych lub odebranych podczas wybrany fragment osi czasu we wszystkich wątkach procesora aplikacji. W przypadku każdej prośby możesz sprawdzić rozmiar, typ, stan i czas trwania transmisji.
  • Widok wątku: wyświetla aktywność sieciową każdego wątku procesora aplikacji. Ten widok pozwala sprawdzać, które wątki aplikacji są odpowiedzialne dla każdego żądania sieciowego.

Inspektor układu

Inspektor układu uzyskał nowe funkcji, w tym funkcji dostępnych wcześniej przez Przeglądarka hierarchii i narzędzia Pixel Perfect:

  • Przyciski powiększenia i skróty klawiszowe do poruszania się i sprawdzania układów
  • Nakładka siatki referencyjnej
  • Możliwość wczytania obrazu referencyjnego i wykorzystania go jako nakładki (przydatne w porównując układ z makietą interfejsu)
  • Renderowanie podglądu podrzędnego drzewa w celu wyizolowania widoku w złożonym układzie

Edytor układu

Paleta w Edytor układów Poprawiono wiele rzeczy:

  • Reorganizacja kategorii widoków i układów.
  • Nowa kategoria Wspólna dla widoków i układów, którą możesz które możesz dodać do folderu za pomocą polecenia Ulubione.
  • Ulepszona szukaj wyświetleń i układy.
  • Nowe polecenia dla otwieranie dokumentacji konkretnego widoku lub elementu układu.

Możesz użyć nowego widoku Konwertuj widok w drzewie komponentów lub w edytorze projektu, aby przekonwertować widok lub układ. do innego widoku lub układu.

Teraz możesz łatwo tworzyć ograniczenia dotyczące elementów znajdujących się w pobliżu wybranego widoku za pomocą nowych przycisków Utwórz połączenie w inspektorze widoku u góry okna Atrybuty.

Uruchamianie i uruchamianie błyskawiczne

Zwiększono spójność działania opcji Użyj tego samego wyboru w przyszłych wersjach w oknie Wybieranie celu wdrożenia. Jeśli opcja Użyj tego samego opcja wyboru jest włączona, a następnie kliknij przycisk Wybierz wdrożenie. celu otwiera się tylko przy pierwszym użyciu Uruchom, dopóki wybrane urządzenie nie zostanie wyłączone – podłączono

Jeśli kierujesz reklamy na urządzenie z Androidem 8.0 (poziom interfejsu API 26) lub nowszym, Błyskawiczne uruchomienie umożliwia wdrożenie zmian w zasobach bez powodowania ponownego uruchomienia aplikacji. To jest jest to możliwe, bo zasoby są zawarte w podzielonym pliku APK.

Emulator

Szczegółowe informacje o nowościach i zmianach w emulatorze od czasu Androida Studio 3.0 – zapoznaj się z informacjami o wersji emulatora Androida w wersji 27.0.2 do wersji 27.1.12.

Główne usprawnienia to między innymi:

  • szybkie zrzuty ekranu rozruchowe pozwalające na zapisywanie stanu emulatora i szybsze uruchamianie. możesz użyć polecenia Zapisz teraz, aby zapisać niestandardowy stan początkowy.
  • Bezoknowy ekran emulatora.
  • Obrazy systemowe na Androidzie 8.0 (poziom interfejsu API 26) i Androida 8.1 (poziom interfejsu API 27) oraz wersję przedpremierową Androida P dla programistów.

Interfejs i wygoda użytkownika ulepszenia

Więcej etykietek, skrótów klawiszowych i przydatne wiadomości

W wielu miejscach dodaliśmy etykietki i przydatne nakładki na wiadomości. w Android Studio.

Aby zobaczyć skróty klawiszowe do wielu poleceń, najedź kursorem na przycisk, aż pojawi się podpowiedź.

Narzędzia > Usunięto menu Androida

W menu Narzędzia > Menu Androida zostało usunięte. Polecenia, które wcześniej były dostępne w tym menu, zostały przeniesione.

  • Wiele poleceń zostało przeniesionych bezpośrednio do sekcji Narzędzia. .
  • Polecenie Synchronizuj projekt z plikami Gradle zostało przeniesione do menu Plik.
  • Polecenie Monitorowanie urządzeń zostało usunięte, ponieważ opisane poniżej.

Dostępny jest monitor urządzenia z wiersza poleceń

W Android Studio 3.1 Monitor urządzeń pełni mniejszą rolę co wcześniej. W wielu przypadkach funkcje dostępne w Monitorze urządzeń są teraz obsługiwane przez nowe i ulepszone narzędzia.

Zobacz Dokumentacja Monitora urządzeń dotycząca instrukcji wywoływania Monitora urządzeń z poziomu wiersza poleceń oraz narzędzi dostępnych w Monitorze urządzeń.