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 niekotlin-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 zVerifyError
: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ęć dlacom.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 konfiguracjeimplementation
iapi
. Dla: szczegóły rezygnacji z korzystania zcompile
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ć inneObservable
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 Synchronizacja i Generowanie.
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 procesora i profilowanie 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ń.