Poniżej znajdziesz informacje o wersji Android Studio 3.6 i starszych wersji oraz Androida Wtyczka Gradle w wersji 3.6.0 lub starszej.
starsze wersje Android Studio,
3.6 (luty 2020 r.)
Android Studio 3.6 to duża wersja, która zawiera wiele nowych funkcji i udoskonaleń.
Chcemy też podziękować wszystkim współtwórcom z społeczności, którzy pomogli nam w tej wersji.
3.6.3 (kwiecień 2020 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
3.6.2 (marzec 2020 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów. Aby zobaczyć listę ważnych poprawek błędów, przeczytaj powiązany post na Blog o aktualizacjach wersji.
3.6.1 (luty 2020 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów. Aby zobaczyć listę ważnych poprawek błędów, przeczytaj powiązany post na Blog o aktualizacjach wersji.
Narzędzia do projektowania
Ta wersja Android Studio zawiera aktualizacje kilku narzędzi do projektowania, m.in. Edytor układu i Menedżer zasobów.
Podziel widok i powiększanie w edytorach projektu
Ta wersja zawiera te aktualizacje edytorów projektowania wizualnego:
-
Edytory projektów, takie jak Edytor układu i Edytor nawigacji, oferują teraz widok Split, który umożliwia jednoczesne wyświetlanie widoków Projekt i Kod interfejsu użytkownika. W prawym górnym rogu okna edytora są teraz 3 przyciski,
aby przełączać opcje wyświetlania:
-
Aby włączyć podzielony widok, kliknij ikonę Podziel
-
Aby włączyć widok źródła XML, kliknij ikonę Źródło
-
Aby włączyć widok projektu, kliknij ikonę Projekt.
-
Aby włączyć podzielony widok, kliknij ikonę Podziel
-
Elementy sterujące powiększaniem i przesuwaniem w edytorach projektu zostały przeniesione do pływającego panelu w prawym dolnym rogu okna edytora.
Więcej informacji znajdziesz w artykule Tworzenie interfejsu użytkownika za pomocą edytora układu.
Karta zasobów selektora kolorów
Aby pomóc Ci szybko zaktualizować wartości zasobów kolorów w aplikacji, gdy używasz selektor kolorów w pliku XML lub w narzędziach do projektowania, IDE zasobów kolorów.
Menedżer zasobów
Menedżer zasobów zawiera te aktualizacje:
- 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, z bibliotekami zewnętrznymi i platformą Androida. Możesz też użyć filtra, aby wyświetlić atrybuty motywu.
- Podczas importowania możesz teraz zmieniać nazwy zasobów, klikając nad zasobem.
Więcej informacji: Zarządzaj zasobami interfejsu aplikacji za pomocą Menedżera zasobów.
Aktualizacje wtyczki Androida do obsługi Gradle
Najnowsza wersja wtyczki Android Gradle zawiera wiele ulepszeń, w tym optymalizacje dotyczące szybkości kompilacji, obsługę wtyczki Maven publishing i obsługę View Binding. Aby dowiedzieć się więcej, przeczytaj pełne informacje o wersji.
Wyświetl powiązanie
Powiązanie widoku ułatwia pisanie kodu, który wchodzi w interakcję z widokami, generując klasę powiązania dla każdego pliku XML układu. Te klasy zawierają bezpośrednie odwołania do wszystkich widoków danych, które mają atrybut ID w odpowiednim układzie.
Ponieważ zastępuje ona funkcję findViewById()
, wiązanie widoku eliminuje ryzyko wyjątków związanych z wskaźnikiem null wynikających z nieprawidłowego identyfikatora widoku.
Aby włączyć wiązanie widoku, musisz użyć wtyczki Android Gradle w wersji 3.6.0 lub nowszej i umieścić w pliku build.gradle
każdego modułu następujące informacje:
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 przez kliknij Zastosuj zmiany kodu. lub Zastosuj zmiany i ponownie uruchom aktywność .
Więcej informacji o różnicach między tymi 2 działaniami znajdziesz w sekcji Stosowanie zmian.
Opcja menu Refactor do włączenia obsługi aplikacji błyskawicznych
Po utworzeniu projektu aplikacji możesz w dowolnym momencie natychmiast włączyć moduł podstawowy w ten sposób:
- Otwórz panel Projekt, klikając Widok > Okna narzędziowe > Projekt na pasku menu.
- Kliknij prawym przyciskiem myszy moduł podstawowy (zazwyczaj nazywa się on „aplikacja”) i wybierz Refaktoryzacja > Włącz obsługę aplikacji błyskawicznych.
- W wyświetlonym oknie dialogowym wybierz z menu moduł podstawowy.
- Kliknij OK.
Uwaga: opcja błyskawicznego włączania podstawowego modułu aplikacji z kreatora Utwórz nowy projekt zostało usunięte.
Więcej informacji: Omówienie aplikacji błyskawicznej w Google Play
Usuwanie zaciemnienia kodu bajtowego klasy i metody w Analizatorze plików APK
Korzystanie z Analizatora plików APK do sprawdź pliki DEX, możesz usunąć zaciemnienie kodu bajtowego klasy i metody w następujący sposób:
- Na pasku menu kliknij Utwórz > Przeanalizuj APK.
- W wyświetlonym oknie przejdź do pliku APK, który chcesz sprawdzić, i go wybierz.
- Kliknij Otwórz.
- W Analizatorze plików APK wybierz plik DEX, który chcesz sprawdzić.
- W przeglądarce plików DEX wczytaj mapowania ProGuard pliku APK, którego używasz analizowaniu danych.
- Kliknij prawym przyciskiem myszy zajęcia lub metodę, które chcesz sprawdzić, i wybierz Pokaż kod bajtowy.
Narzędzia natywne
Poniższe aktualizacje obsługują natywne programowanie (w języku C/C++) w Android Studio.
Pomoc Kotlin
Poniższe funkcje NDK w Android Studio, wcześniej obsługiwane w języku Java, są są teraz obsługiwane również w kotlinie:
-
Przejdź z deklaracji JNI do odpowiedniej funkcji implementacji w C/C++. Aby wyświetlić to mapowanie, najedź kursorem na znacznik elementu w języku C lub C++ w pobliżu numer wiersza w zarządzanym pliku kodu źródłowego.
-
Automatycznie twórz funkcję implementacji kodu pośredniczącego dla deklaracji JNI. Najpierw zdefiniuj deklarację JNI, a potem wpisz „jni” lub nazwę metody w C/C++, aby go aktywować.
-
Nieużywane funkcje implementacji natywnej są wyróżnione w kodzie źródłowym jako ostrzeżenie. Deklaracje JNI z brakującymi implementacjami są również wyróżniane jako błędy.
-
Gdy zmienisz nazwę (refaktoryzacji) natywnej funkcji implementacji, wszystkie odpowiednie deklaracje JNI zostaną zaktualizowane. Zmień nazwę deklaracji JNI na aktualizację natywnej funkcji implementacji.
-
Sprawdzanie podpisu w przypadku implementacji JNI z implicytnym wiązaniem.
Inne ulepszenia JNI
Edytor kodu w Android Studio obsługuje teraz płynniejsze tworzenie JNI w tym ulepszone wskazówki typu, autouzupełnianie, kontrole refaktoryzacji kodu.
Ponowne wczytywanie pliku APK dla bibliotek natywnych {:#3.6-reload-apk}
Nie musisz już tworzyć nowego projektu, gdy plik APK w projekcie jest aktualizowany poza IDE. Android Studio wykrywa zmiany w pliku APK i udostępnia Ci kliknij opcję jego ponownego zaimportowania.
Załącz źródła plików APK tylko z Kotlinem
Podczas profilowania i debugowania gotowych plików APK możesz teraz dołączać zewnętrzne źródła plików APK tylko z Kotlinem. Więcej informacji znajdziesz w artykule Dołączanie źródeł kodu Kotlin lub Javy.
Wykrywanie przecieków w usłudze Memory Profiler
Podczas analizowania zrzutu stosu w narzędziu Memory Profiler możesz teraz filtrować profilowanie
dane, które według Android Studio mogą wskazywać wycieki pamięci w aplikacjach Activity
i
Wystąpienia w Twojej aplikacji: Fragment
.
Typy danych wyświetlanych przez filtr obejmują:
-
instancji
Activity
, które zostały zniszczone, ale nadal są używane; -
Fragment
, które nie mają prawidłowegoFragmentManager
, ale są nadal używane.
Załącz źródła plików APK tylko z Kotlinem
Podczas profilowania i debugowania gotowych plików APK możesz teraz dołączać zewnętrzne źródła plików APK tylko z Kotlinem. Więcej informacji znajdziesz w artykule Dołączanie źródeł kodu Kotlin lub Javy.
Wykrywanie przecieków w usłudze Memory Profiler
Podczas analizowania zrzutu stosu w narzędziu Memory Profiler możesz teraz filtrować profilowanie
dane, które według Android Studio mogą wskazywać wycieki pamięci w aplikacjach Activity
i
Wystąpienia w Twojej aplikacji: Fragment
.
Typy danych wyświetlanych przez filtr obejmują:
-
instancji
Activity
, które zostały zniszczone, ale nadal są używane; -
Fragment
instancji, które nie mają prawidłowej wartościFragmentManager
, ale nadal występują odwołania.
W pewnych sytuacjach, takich jak ta, filtr może zwrócić wartość „fałsz” pozytywne:
- Element
Fragment
został utworzony, ale nie jest jeszcze używany. Fragment
jest przechowywane w pamięci podręcznej, ale nie w ramachFragmentTransaction
.
Aby użyć tej funkcji, najpierw przechwyć zrzut stosu lub zaimportuj plik zrzutu stosu do Android Studio. Aby wyświetlić fragmenty i działania, które mogą wyciek pamięci, zaznacz na stercie pole wyboru Activity/fragments (Wycieki danych) zrzutu ekranu narzędzia Memory Profiler.
Filtruję zrzut stosu pod kątem wycieków pamięci.
Emulatory
Android Studio 3.6 pozwala korzystać z kilku aktualizacji Emulator Androida w wersji 29.2.7 lub nowszej zgodnie z opisem poniżej.
Ulepszona obsługa lokalizacji
Emulator Androida w wersji 29.2.7 i nowszych zapewnia dodatkową obsługę emulacji Współrzędne GPS i informacje o trasie. Gdy otworzysz sekcji „Emulatory” Rozszerzone opcje sterowania, opcje na karcie „Lokalizacja” są teraz uporządkowane na 2 kartach: Pojedyncze punkty i Ścieżki.
Pojedyncze punkty
Na karcie Pojedyncze punkty możesz używać komponentu WebView Map Google do wyszukiwania do ciekawych miejsc, tak samo jak w przypadku korzystania z Map Google na telefonie przeglądarki. Gdy szukasz lokalizacji na mapie lub ją klikniesz, możesz zapisać lokalizację, wybierając opcję Zapisz punkt w dolnej części mapy. Wszystkie zapisane lokalizacje są wymienione po prawej stronie rozszerzonych ustawień okno.
Aby ustawić lokalizację emulatorów na wybraną na mapie, kliknij przycisk Ustaw lokalizację w prawym dolnym rogu okna Rozszerzone opcje sterowania.
.
Trasy
Podobnie jak karta Pojedyncze punkty karta Trasy zawiera Komponent WebView Map Google służący do tworzenia tras między co najmniej 2 lokalizacjami. Aby utworzyć i zapisać trasę:
- W widoku mapy użyj pola tekstowego do wyszukania pierwszego miejsca docelowego w Twojej trasy.
- Wybierz lokalizację w wynikach wyszukiwania.
- Kliknij przycisk Przejdź.
- Wybierz na mapie punkt początkowy trasy.
- (Opcjonalnie) Kliknij Dodaj miejsce docelowe, aby dodać kolejne przystanki na trasie.
- Zapisz trasę, klikając Zapisz trasę w widoku mapy.
- Podaj nazwę trasy i kliknij Zapisz.
Aby symulować działanie emulatora na podstawie zapisanej trasy, wybierz ją na liście Zapisane trasy i w prawym dolnym rogu okna Rozszerzone opcje sterowania kliknij Odtwórz trasę. Aby zatrzymać symulację, kliknij Zatrzymaj trasę.
.
Aby stale symulować emulator po określonej trasie, włącz przełącz obok opcji Powtarzanie odtwarzania. Aby zmienić szybkość, z jaką emmulator śledzi na określonej trasie, wybierz opcję z menu Szybkość odtwarzania.
Obsługa kilku wyświetlaczy
Emulator Androida umożliwia teraz wdrażanie aplikacji na wiele wyświetlaczy, które obsługują wymiary dostosowane do potrzeb użytkownika. Możesz też testować aplikacje, które obsługują wiele okien i wiele wyświetlaczy. Po uruchomieniu urządzenia wirtualnego możesz dodać maksymalnie dwa dodatkowe wyświetlacze w następujący sposób:
-
Otwórz aplikację Rozszerzone elementy sterujące i otwórz kartę Wyświetlanie.
-
Aby dodać kolejny wyświetlacz, kliknij Dodaj dodatkowy wyświetlacz.
-
W menu w sekcji Wyświetlacze dodatkowe wykonaj jedną z tych czynności:
-
Wybierz jeden z gotowych formatów obrazu
-
Wybierz custom i ustaw parametry height, width oraz dpi niestandardowe reklamy displayowe.
-
(Opcjonalnie) Kliknij Dodaj drugi wyświetlacz, aby dodać trzeci wyświetlacz.
-
Kliknij Zastosuj zmiany, aby dodać wybrane wyświetlacze do aktywnych. na urządzeniu wirtualnym.
Nowe urządzenia wirtualne i szablony projektów na system operacyjny Android Automotive
Gdy tworzysz nowy projekt w Android Studio, masz do wyboru 3 szablony z karty Motoryzacja w panelu Utwórz nowy projekt kreator: Brak aktywności, Usługa multimedialna i Usługa przesyłania wiadomości. Dla: w istniejących projektach, możesz dodać obsługę urządzeń z Androidem Automotive, wybierając Plik > Nowe > Nowy moduł, a następnie wybierz Moduł motoryzacyjny. Następnie kreator Tworzenie nowego modułu przeprowadzi Cię przez proces tworzenia nowego modułu za pomocą jednego ze szablonów projektu Androida Automotive.
.
Dodatkowo możesz teraz utworzyć urządzenie wirtualne z Androidem (AVD) na urządzeniach z systemem operacyjnym Android Automotive, wybierając jedną z tych opcji na karcie Motoryzacja w kreatorze konfiguracji urządzenia wirtualnego.
- Polestar 2: utwórz AVD, który emuluje jednostkę główną Polestar 2.
- Samochodowóz (1024p w orientacji poziomej): utwórz AVD dla uniwersalnych urządzeń z Androidem Automotive o wymiarach 1024 x 768 pikseli.
.
Pobieranie pakietu SDK z możliwością wznowienia
Podczas pobierania komponentów i narzędzi SDK za pomocą Menedżera pakietu SDK Android Studio umożliwia teraz wznowienie przerwanych (np. z powodu problemu z siecią) pobierania zamiast jego ponownego uruchamiania od początku. Ten jest szczególnie przydatne w przypadku dużych plików, takich jak Obrazy emulatora lub systemu, gdy połączenie z internetem jest niestabilne.
Dodatkowo, jeśli masz zadanie pobierania pakietu SDK uruchomione w tle, możesz: aby wstrzymać lub wznowić pobieranie za pomocą elementów sterujących na pasku stanu.
Zadanie pobierania w tle na pasku stanu z nowymi funkcjami elementy sterujące, które umożliwiają wstrzymywanie i wznawianie pobierania.
Win32 został wycofany
32-bitowa wersja Android Studio dla systemu Windows nie będzie już otrzymywać aktualizacji z końcem grudnia 2019 r., a z grudnia 2020 r. nie będzie już dostępna. Nadal możesz korzystać z Android Studio. Aby jednak otrzymywać dodatkowe aktualizacje, zaktualizuj stanowisko robocze do 64-bitowej wersji systemu Windows.
Więcej informacji znajdziesz na blogu poświęconym amortyzacji w wersji 32-bitowej 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 spowolnić proces synchronizacji.
Aby poprawić wydajność synchronizacji Gradle, przejdź do Plik > Ustawienia > Funkcja eksperymentalna 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 na szybsze ukończenie synchronizacji Gradle i poprawi szybkość reakcji interfejsu. Pamiętaj, że jeśli IDE pominie tworzenie listy zadań, listy zadań w panelu Gradle są puste, a autouzupełnianie nazw zadań w pliki kompilacji nie działają.
Nowa lokalizacja przełącznika trybu offline w Gradle
Aby włączyć lub wyłączyć tryb offline Gradle, na pasku menu kliknij Widok > Okna narzędzia > Gradle. Następnie u góry strony
w oknie Gradle kliknij Toggle Offline Mode (Przełącz tryb offline).
IntelliJ IDEA 2019.2
Główne środowisko programistyczne Android Studio zostało zaktualizowane o ulepszenia z IntelliJ IDEA w wersji 2019.2.
Więcej informacji o ulepszeniach z innych wersji IntelliJ, które są uwzględnione w wersji 2019.2, znajdziesz na tych stronach:
Współtwórcy społeczności
Dziękujemy wszystkim osobom, które pomagają nam wykrywać błędy oraz inne sposoby ulepszania Androida Studio 3.6. W szczególności chcielibyśmy podziękować następujące osoby, które zgłosiły błędy:
|
|
|
3.5 (sierpień 2019 r.)
Android Studio 3.5 to wersja główna, która powstała w ramach projektu Marble. Począwszy od wydania Android Studio 3.3, inicjatywa Project Marble objęła wiele wersji, które koncentrowały się na ulepszaniu 3 głównych obszarów środowiska IDE: stanu systemu, udoskonalenia funkcji i naprawiania błędów.
Aby dowiedzieć się więcej o tych i innych aktualizacjach Project Marble, przeczytaj Post na blogu dla deweloperów aplikacji na Androida lub sekcje poniżej.
Pragniemy również podziękować wszystkim, twórców społeczności, którzy pomogła w tej wersji.
3.5.3 (grudzień 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji.
3.5.2 (listopad 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
3.5.1 (październik 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
Projekt Marble: stan systemu
W tej sekcji opisujemy zmiany w Android Studio 3.5, które skupiają się poprawę stanu systemu.
Zalecane ustawienia pamięci
Teraz Android Studio powiadamia Cię, jeśli wykryje, że można poprawić wydajność zwiększając maksymalną ilość pamięci RAM, jaką Twój system operacyjny powinien przydzielić na Androida procesy w Studio, takie jak podstawowy IDE, demon Gradle i demon Kotlin. Możesz zaakceptować zalecane ustawienia, klikając link do działania w powiadomieniu, lub dostosować je ręcznie. W tym celu wybierz Plik > Ustawienia (lub Android Studio > Preferencje w systemie macOS), a następnie odszukaj sekcję Ustawienia pamięci w sekcji Wygląd i zachowanie > Ustawienia systemu. Aby dowiedzieć się więcej, Patrz: Maksymalny rozmiar stosu.
Powiadomienie o zalecanych ustawieniach pamięci.
Raport dotyczący wykorzystania pamięci
Problemy z pamięcią w Android Studio są czasami trudne do odtworzenia i zgłoszenia. Aby rozwiązać ten problem, w Android Studio możesz wygenerować raport o wykorzystaniu pamięci, klikając na pasku menu Pomoc > Przeanalizuj wykorzystanie pamięci. Kiedy IDE lokalnie oczyszcza dane pod kątem danych osobowych, pytając, czy chcesz wysłać je do zespołu Android Studio, źródło problemów z pamięcią. Aby dowiedzieć się więcej, zobacz Uruchamianie pomiaru wykorzystania pamięci .
Raport o wykorzystaniu pamięci.
Windows: optymalizacja operacji wejścia/wyjścia dotyczących pliku antywirusa
Android Studio automatycznie sprawdza teraz, czy niektóre katalogi projektów nie jest objęte skanowaniem antywirusowym w czasie rzeczywistym. Kiedy można wprowadzić zmiany Android Studio powiadamia Cię i przekazuje instrukcje, aby zwiększyć wydajność kompilacji. jak zoptymalizować konfigurację programu antywirusowego. Więcej informacji: Zminimalizuj wpływ oprogramowania antywirusowego na szybkość kompilacji.
Project Marble: dopracowanie funkcji
W tej sekcji opisujemy zmiany w Android Studio 3.5, które skupiają się udoskonalanie istniejących funkcji.
Apply Changes
Opcja Zastosuj zmiany umożliwia przekazywanie zmian kodu i zasobów do uruchomionej aplikacji bez ponownego uruchamiania aplikacji, a w niektórych przypadkach bez ponownego uruchamiania bieżącego działania. Opcja Zastosuj zmiany wprowadza zupełnie nowe podejście do zachowania stan aplikacji. W przeciwieństwie do funkcji Wykonaj błyskawicznie, która przepisuje bajt kod źródłowy pliku APK, funkcja Zmień definiuje klasy w locie, korzystając z instrumentacji czasu wykonywania obsługiwanej w Androidzie 8.0 (poziom interfejsu API 26) lub nowszym.
Więcej informacji znajdziesz w sekcji Stosowanie zmian.
Przyciski na pasku narzędzi Zastosuj zmiany
Proces wdrażania aplikacji
IDE ma nowe menu, które pozwala szybko wybrać urządzenie w których chcesz wdrożyć swoją aplikację. To menu zawiera też nową opcję, która pozwala uruchamianie aplikacji na kilku urządzeniach jednocześnie.
Menu Urządzenie docelowe.
Ulepszone wykrywanie synchronizacji i pamięci podręcznej Gradle
IDE działa teraz lepiej, gdy Gradle okresowo czyści pamięć podręczną kompilacji, gdy zmniejsza wykorzystanie dysku twardego. W poprzednich wersjach ten stan powodował IDE do zgłaszania brakujących zależności i nieudanej synchronizacji Gradle. IDE pobiera zależności zgodnie z potrzebami, aby zapewnić zakończenie synchronizacji Gradle .
Poprawiono dane wyjściowe błędu kompilacji.
Okno Generowanie umożliwia teraz lepsze raportowanie błędów, np. link do pliku i wiersza z raportowanym błędem, w przypadku tych procesów kompilacji:
- Kompilacja i łączenie plików AAPT
- R8 i ProGuard
- Dexing
- Scalanie zasobów
- Analiza pliku XML
- Kompilacja kompilacji Javac, Kotlinc i CMake
Uaktualnienia projektu
Ulepszony interfejs aktualizacji, w którym możesz uzyskać więcej informacji i działań, które mogą Ci pomóc zaktualizuj IDE i wtyczkę Androida do obsługi Gradle. Na przykład większa synchronizacja obejmują działania, które pomagają ograniczyć błędy podczas aktualizacji.
Pamiętaj, że możesz aktualizować IDE niezależnie od innych takich jak wtyczka Androida do obsługi Gradle. Możesz więc bezpiecznie zaktualizować IDE gdy tylko będzie dostępna nowsza wersja, a inne komponenty zaktualizuje się później.
Edytor układu
Android Studio 3.5 zawiera kilka ulepszeń dotyczących wizualizacji układu, zarządzania i interakcji.
Podczas pracy z ConstraintLayout
w panelu Atrybuty pojawi się nowa sekcja Ograniczenia, w której znajdziesz relacje ograniczeń wybranego komponentu interfejsu. Ograniczenie możesz wybrać
lub z listy ograniczeń, aby podświetlić ograniczenie w obu obszarach.
Relacje ograniczeń wybranego elementu interfejsu.
Podobnie można teraz usunąć ograniczenie, zaznaczając je i naciskając
Delete
klawisz. Ograniczenie możesz też usunąć, przytrzymując klawisz
Control
(Command
w systemie macOS) i klikniesz przycisk
kotwica ograniczenia. Pamiętaj, że po przytrzymaniu klawisza Control
lub
Command
i najedź kursorem na reklamę zakotwiczoną oraz wszystkie powiązane ograniczenia
zmieniają kolor na czerwony, by wskazać, że można je kliknąć, aby je usunąć.
Po wybraniu widoku możesz utworzyć ograniczenie, klikając dowolną ikonę + w sekcji Widżet ograniczenia w panelu Atrybuty, jak pokazano na poniższym obrazie. Po utworzeniu nowego ograniczenia Układ Edytor zaznacza i podświetla ograniczenie, dzięki czemu opinii na temat tego, co właśnie zostało dodane.
Tworzenie ograniczeń za pomocą widżetu ograniczeń .
Podczas tworzenia ograniczenia Edytor układu wyświetla teraz tylko odpowiednie punkty kotwiczenia, które można ograniczyć. Wcześniej Edytor układów podświetlał wszystkie elementy punktów zakotwiczenia we wszystkich widokach, niezależnie od tego, czy można je ograniczyć. Dodatkowo niebieski nakładany obraz wyróżnia teraz docelowe ograniczenie. To wyróżnienie jest szczególnie przydatne, gdy próbujesz ograniczyć komponent do komponentu, który nakłada się na inny.
Tworzenie ograniczenia dla nakładającego się komponentu w Android Studio 3.4.
Tworzenie ograniczenia dla nakładającego się komponentu w Android Studio 3.5.
Oprócz powyższych zmian w Android Studio 3.5 znajdziesz też te ulepszenia edytora układu:
- Widżet ograniczeń i menu domyślnej marży pozwalają na użycie zasobów wymiarów jako marż.
- Na pasku narzędzi edytora układów jest lista urządzeń określających rozmiar a jego wygląd zmienił się. Dodatkowo przyciąganie zmiany rozmiaru, a uchwyty do zmiany rozmiaru na powierzchni projektowej który jest zawsze widoczny. Podczas zmiany rozmiaru pojawiają się nowe nakładki, które pokazują popularne urządzenie rozmiarów reklam Google Ads.
- Edytor układu ma nową paletę kolorów, która zwiększa spójność i zmniejsza kontrast między komponentami, tekstem i ograniczeniami.
- Tryb planu obejmuje teraz obsługę tekstową w przypadku niektórych komponentów, w których tekst nie był które są wyświetlane.
Więcej informacji o tych zmianach znajdziesz w artykule Android Studio Project Marble: edytor układów.
Wiązanie danych
Oprócz dodania obsługi przyrostowego przetwarzania adnotacji w przypadku wiązania danych, IDE ulepsza funkcje i wydajność inteligentnego edytora podczas tworzenia wyrażeń wiązania danych w formacie XML.
Wydajność edytora kodu w Android Studio 3.4.

Poprawiona wydajność edycji kodu w Android Studio 3.5
Ulepszona obsługa projektów C/C++
Android Studio 3.5 zawiera kilka zmian, które poprawiają obsługę języka C/C++ w projektach AI.
Ulepszenia panelu tworzenia wariantów na potrzeby synchronizacji jednego wariantu
Możesz teraz określić zarówno aktywny wariant kompilacji, jak i aktywny interfejs ABI Panel Utwórz warianty. Ta funkcja upraszcza konfigurację kompilacji w każdym module i może też poprawić wydajność synchronizacji Gradle.
Więcej informacji znajdziesz w artykule Zmienianie wariantu kompilacji.
Panel Kompilowanie wariantów z wybraniem jednego wariantu według ABI.
Wersje pakietu NDK obok siebie
Teraz możesz używać wielu wersji pakietu NDK obok siebie. Ta funkcja zapewnia większą elastyczność podczas konfigurowania projektów, np. gdy masz projekty, które korzystają z różnych wersji NDK na tym samym komputerze.
Jeśli Twój projekt korzysta z wtyczki Androida do obsługi Gradle w wersji 3.5.0 lub nowszej, możesz też określić wersję NDK, której powinien używać każdy moduł w projekcie. Za pomocą tę funkcję do tworzenia możliwych do odtworzenia kompilacji i zniwelowania niezgodności między wersjami NDK a wtyczką Androida do obsługi Gradle.
Aby dowiedzieć się więcej, zobacz Instalowanie i konfigurowanie pakietów NDK, CMake i LLDB.
Pomoc dotycząca ChromeOS
Android Studio oficjalnie obsługuje teraz urządzenia z ChromeOS, takie jak HP Chromebook x360 14, Acer Chromebook 13/Spin 13 i inne w wymaganiach systemowych. Aby rozpocząć, pobierz Android Studio na zgodnym urządzeniu z ChromeOS i postępuj zgodnie z instrukcjami instalacji.
Uwaga: Android Studio w ChromeOS obsługuje obecnie wdrażanie aplikacji tylko w z podłączonym urządzeniem. Więcej informacji: Uruchamianie aplikacji na sprzęcie urządzenia.
Warunkowe dostarczanie modułów funkcji
Dostarczanie warunkowe umożliwia skonfigurowanie określonych wymagań konfiguracji urządzenia dla modułów funkcji, aby były one pobierane automatycznie podczas instalacji aplikacji. Możesz na przykład skonfigurować moduł funkcji, który zawiera funkcję rzeczywistości rozszerzonej (AR), tak aby była dostępna podczas instalowania aplikacji tylko na urządzeniach obsługujących AR.
Ten mechanizm dostarczania umożliwia obecnie kontrolowanie pobierania modułu w momencie instalowania aplikacji na podstawie tych konfiguracji urządzenia:
- Funkcje sprzętu i oprogramowania urządzenia, w tym wersja OpenGL ES
- Kraj użytkownika
- Poziom interfejsu API
Jeśli urządzenie nie spełnia wszystkich określonych wymagań, moduł nie jest pobierany w momencie instalowania aplikacji. Twoja aplikacja może jednak później poprosić o pobieranie modułu na żądanie za pomocą Play Core Library. Więcej informacji: Skonfiguruj dostarczanie warunkowe.
IntelliJ IDEA 2019.1
Podstawowe IDE Android Studio zostało zaktualizowane o ulepszenia od IntelliJ IDEA aż do wersji 2019.1, np. dostosowywanie motywu.
Ostatnia wersja IntelliJ dołączonej do Android Studio to 2018.3.4. Więcej informacji o ulepszeniach w porównaniu z innymi wersjami IntelliJ które są dostępne łącznie z tą wersją Android Studio, następujące poprawki błędów:
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
Aktualizacje wtyczki Android do obsługi Gradle do wersji 3.5.0
Informacje o nowościach we wtyczce Androida do obsługi Gradle w wersji 3.5.0, w tym udoskonalone na temat przyrostowego przetwarzania adnotacji i testów jednostkowych możliwych do zapisywania w pamięci podręcznej. informacjami o wersji.
Współtwórcy społeczności
Dziękujemy wszystkim osobom, które pomagają nam wykrywać błędy oraz inne sposoby ulepszania Androida Studio 3.5. W szczególności chcielibyśmy podziękować następujące osoby, które zgłosiły błędy P0 i P1:
|
|
|
3.4 (kwiecień 2019 r.)
Android Studio 3.4 to duża wersja, która zawiera wiele nowych funkcji i udoskonaleń.
3.4.2 (lipiec 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
3.4.1 (maj 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
Znane problemy w wersji 3.4.0
Profilowanie jest wyłączone podczas wdrażania aplikacji na urządzeniu z Androidem Q Beta.
- Gdy używasz biblioteki Data Binding Library, metoda
LiveDataListener.onChanged()
może zakończyć się niepowodzeniem z błędem NPE. Poprawka znajdziesz w Android Studio 3.4.1 i jest już dostępny dostępne w najnowszej wersji Wersja testowa Android Studio 3.5. (Zobacz problem nr 122066788)
IntelliJ IDEA 2018.3.4
Podstawowe IDE Android Studio zostało zaktualizowane o ulepszenia od IntelliJ IDEA przez Wersja 2018.3.4.
Aktualizacje wtyczki Android do obsługi Gradle do wersji 3.4.0
Informacje o nowościach we wtyczce Androida do obsługi Gradle w wersji 3.4.0 znajdziesz w jej informacjami o wersji.
Okno nowej struktury projektu
Nowy dialog struktury projektu ułatwia aktualizowanie zależności i konfigurowanie różnych aspektów projektu, takich jak moduły, warianty kompilacji, konfiguracje podpisywania i zmiennych kompilacji.
Aby otworzyć PSD, wybierz Plik > Struktura projektu z menu
przeglądarki. Plik PSD możesz też otworzyć, naciskając Ctrl+Shift+Alt+S
w systemie Windows, a następnie
Linux lub Command+;
(średnik) w systemie macOS. Opisy niektórych
nowe i zaktualizowane sekcje dokumentu PSD poniżej.
Zmienne
Nowa sekcja zmiennych w pliku PSD umożliwia tworzenie kompilacji i zarządzanie nimi zmiennych, takich jak zmienne umożliwiające zachowanie spójności numerów wersji zależności w całym projekcie.
- Szybkie wyświetlanie i edytowanie zmiennych kompilacji, które już istnieją w projekcie Skrypty kompilacji Gradle.
- Dodawanie nowych zmiennych kompilacji na poziomie projektu lub modułu bezpośrednio z PSD.
Uwaga: jeśli istniejące pliki konfiguracji kompilacji przypisują za pomocą złożonych skryptów Groovy, prawdopodobnie nie będzie można ich edytować w ramach dyrektywy PSD. Nie możesz też edytować plików kompilacji zapisanych w języku Kotlin. za pomocą PSD.
Moduły
Skonfiguruj właściwości, które są stosowane do wszystkich wariantów kompilacji w istniejącej
lub dodaj nowe moduły do projektu w sekcji Moduły. Dla:
na przykład tutaj możesz skonfigurować usługi defaultConfig
lub zarządzać
konfiguracji podpisywania.
Zależności
Sprawdź i zwizualizuj poszczególne zależności na wykresie zależności zgodnie z tymi wskazówkami Gradle, które pomogą rozwiązać problem kroki:
- W lewym panelu PSD kliknij Zależności.
- W panelu Moduły wybierz moduł, w którym chcesz przejrzeć i rozwiązano zależności.
- Po prawej stronie pliku PSD otwórz panel Rozwiązane zależności, który jest pokazany poniżej.
Możesz też szybko wyszukać i dodać zależności do projektu wybierając moduł z sekcji Zależności pliku PSD, klikając kliknij przycisk (+) w sekcji Deklarowane zależności i wybierz typ zależności, którą chcesz dodać.
W zależności od wybranego typu zależności powinno się wyświetlić okno: podobnie jak w przykładzie poniżej. Pomaga to dodać zależność do modułu.
Tworzenie wersji
W tej sekcji dokumentu PSD utwórz i skonfiguruj warianty kompilacji oraz produkt dla każdego modułu w projekcie. Możesz dodać obiekty zastępcze manifestu, pliki ProGuard, przypisywanie kluczy podpisywania i inne funkcje.
Sugestie
Sugerowane zmiany zależności projektu i zmienne kompilacji znajdziesz w sekcji Sugestia, jak pokazano na ilustracji poniżej.
Nowy menedżer zasobów
Menedżer zasobów to nowe okno narzędzi do importowania, tworzenia, zarządzania za pomocą zasobów w aplikacji. Aby otworzyć okno narzędzia, wybierz Widok > Okna narzędziowe > Resource Manager na pasku menu. Zasób Menedżer umożliwia:
- Wizualizuj zasoby: możesz wyświetlać podgląd elementów rysowalnych, kolorów i układów, szybko znajdować potrzebne zasoby.
- Zbiorcze importowanie: możesz zaimportować wiele zasobów rysowanych naraz, przeciągając je i upuszczając w oknie narzędzia Menedżer zasobów lub używając kreatora Importowanie zasobów rysowanych. Aby uzyskać dostęp do kreatora, kliknij (+) w lewym górnym rogu okna narzędzia, a następnie wybierz Z menu wybierz Importuj elementy rysowalne.
-
Konwertuj pliki SVG na obiekty
VectorDrawable
: Kreator Importuj elementy rysowalne, aby przekonwertować obrazy SVG na formatVectorDrawable
obiektów. - Przeciąganie i upuszczanie zasobów: w oknie narzędzia Menedżer zasobów możesz przeciągać elementy rysowalne i upuszczać je zarówno w widoku projektu, jak i w widoku XML. Redaktor.
- Wyświetl alternatywne wersje: możesz teraz wyświetlać alternatywne wersje swojego kliknij dwukrotnie zasób w oknie Narzędzia. Ten widok pokazuje różne utworzone wersje i kwalifikatory, dołączono.
- Widok kafelków i widok listy: w oknie narzędzia możesz zmieniać widok, aby wizualizować zasoby w różnych układach.
Więcej informacji znajdziesz w przewodniku Zarządzanie zasobami aplikacji.
Sprawdzanie identyfikatorów kompilacji podczas profilowania i debugowania plików APK
Gdy podasz pliki symboli debugowania dla współdzielonych bibliotek .so
w swojej aplikacji APK, Android Studio sprawdzi, czy identyfikator kompilacji podanych plików symboli jest zgodny z identyfikatorem kompilacji bibliotek .so
w tym pliku APK.
Jeśli utworzysz biblioteki natywne w pliku APK z identyfikatorem kompilacji, Android Studio sprawdza, czy identyfikator kompilacji w plikach symboli jest zgodny z identyfikatorem kompilacji w pliku i odrzuca pliki symboli w przypadku ich niezgodności. Jeśli kompilacja nie została wykonana z identyfikatorem kompilacji, podanie nieprawidłowych plików symboli może spowodować problemy z debugowaniem.
R8 domyślnie włączone
R8 integruje decugaring, kurczenie, zaciemnianie, i optymalizacji, usuwania w całości. zauważalnej poprawy wydajności kompilacji. R8 został wprowadzony we wtyczce Androida do obsługi Gradle w wersji 3.3.0, jest teraz domyślnie włączona zarówno w projektach aplikacji, jak i projektów biblioteki na Androida, które używają wtyczki w wersji 3.4.0 lub nowszej.
Ilustracja poniżej przedstawia ogólny proces kompilacji przed wprowadzeniem R8.
Teraz z R8, usuwanie cukru, kurczenie, zaciemnianie, optymalizacja i dexing (D8) można wykonać w jednym kroku, jak pokazano poniżej.
Pamiętaj, że R8 jest zaprojektowany do współpracy z istniejącymi regułami ProGuard, aby zacząć korzystać z R8, prawdopodobnie nie będzie trzeba podejmować żadnych działań. Pamiętaj jednak: bo to inna technologia niż ProGuard, która została opracowana w projektach na Androida zmniejszanie i optymalizacja mogą spowodować usunięcie kodu których może nie mieć ProGuard. W tej nieprawdopodobnej sytuacji konieczne może być dodaj więcej reguł, aby zachować ten kod w danych wyjściowych kompilacji.
Jeśli podczas korzystania z R8 napotkasz problemy, przeczytaj
Najczęstsze pytania dotyczące zgodności z R8
aby sprawdzić, czy można znaleźć rozwiązanie problemu. Jeśli rozwiązanie nie jest udokumentowane,
zgłoś błąd.
Aby wyłączyć R8, dodaj jeden z poniższych wierszy do
Plik gradle.properties
:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Uwaga: w przypadku danego typu kompilacji, jeśli ustawisz
Z: useProguard
do: false
w Twojej aplikacji
build.gradle
modułu, wtyczka Androida do obsługi Gradle używa R8, by zmniejszyć
aplikacji dla danego typu kompilacji, niezależnie od tego, czy wyłączysz R8 w
gradle.properties
projektu.
Edytor nawigacji obsługuje teraz wszystkie typy argumentów
W Edytorze nawigacji są teraz obsługiwane wszystkie typy argumentów obsługiwane przez komponent Nawigacja. Więcej informacji o obsługiwanych typach znajdziesz w artykule Przesyłanie danych między usługami docelowymi.
Ulepszenia edytora układów {:#layout-editor}
Panel Atrybuty w Edytorze układów został uproszczony z sekcjami, które możesz rozwinąć, aby wyświetlić atrybuty, które możesz skonfigurować. Panel Atrybuty zawiera też te aktualizacje:
- Nowa sekcja Zadeklarowane atrybuty zawiera listę atrybutów pliku układu określa i pozwala szybko dodawać nowe.
- W panelu Atrybuty znajdują się teraz wskaźniki obok każdego atrybutu. gdy wartość atrybutu jest odwołaniem do zasobu i pusty w przeciwnym razie.
- Atrybuty z błędami lub ostrzeżeniami są teraz podświetlone. Wyróżnienia czerwone wskazuje błędy (np. nieprawidłowe wartości układu) i pomarańczowe podświetlenia oznaczają ostrzeżenia (na przykład jeśli zakodowano na stałe ).
Nowe działanie intencji do szybkiego importowania zależności
Jeśli zaczniesz używać w kodzie określonych klas Jetpack i Firebase,
działanie intencji sugeruje dodanie wymaganej zależności biblioteki Gradle do
jeśli jeszcze nie masz tego projektu w projekcie. Na przykład, jeśli odwołasz się do atrybutu
WorkManager
klasa bez wcześniejszego zaimportowania wymaganych
android.arch.work:work-runtime
, możesz to zrobić dzięki działaniu polegającemu na zamierzeniu
za pomocą jednego kliknięcia, jak pokazano poniżej.
Przede wszystkim dlatego, że Jetpack przekształcił bibliotekę pomocy w oddzielną łatwiej jest zarządzać pakietami i je aktualizować, to działanie intencji pomaga możesz szybko dodać tylko te zależności, które są niezbędne dla wybranych komponentów Jetpacka których użyć.
3.3 (styczeń 2019 r.)
Android Studio 3.3 to duża wersja, która zawiera wiele nowych funkcji i udoskonaleń.
3.3.2 (marzec 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj powiązany post na blogu z aktualizacjami wersji.
3.3.1 (luty 2019 r.)
Ta niewielka aktualizacja zawiera różne poprawki błędów i ulepszenia działania aplikacji.
IntelliJ IDEA 2018.2.2
Podstawowe IDE Android Studio zostało zaktualizowane o ulepszenia od IntelliJ IDEA do wersji 2018.2.2.
Aktualizacje wtyczki Androida do obsługi Gradle
Informacje o nowościach we wtyczce Androida do obsługi Gradle znajdziesz na stronie informacjami o wersji.
Edytor nawigacji
Edytor nawigacji umożliwia szybką wizualizację i wbudowanie nawigacji w za pomocą funkcji Komponent architektury nawigacji.
Więcej informacji: Wdróż nawigację za pomocą komponentu architektury nawigacji.
Usuń nieużywane katalogi Android Studio
Gdy po raz pierwszy uruchomisz główną wersję Android Studio, aplikacja wyszuka katalogi zawierające pamięci podręczne, ustawienia, indeksy i logi wersji Android Studio, dla których nie można znaleźć odpowiedniej instalacji. Usuń nieużywane katalogi Android Studio, a potem wyświetli się lokalizacja. rozmiarów i czasu ostatniej modyfikacji tych nieużywanych katalogów. Zapewnia aby je usunąć.
Poniżej wymieniono katalogi, które Android Studio może usunąć:
- Linux:
~/.AndroidStudio[Preview]X.Y
- Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
- Windows:
%USER%.AndroidStudio[Preview]X.Y
Ulepszenia dotyczące lintowania
Usługa Lint po wywołaniu z Gradle działa znacznie szybciej – większe projekty lint będzie działać nawet 4 razy szybciej.
Kreator tworzenia nowego projektu
Kreator Utwórz nowy projekt ma nowy wygląd i zawiera aktualizacje, które pomogą i usprawnia tworzenie nowych projektów w Android Studio.
Więcej informacji znajdziesz w artykule Tworzenie projektu.
Aktualizacje programu profilującego
Android Studio 3.3 zawiera aktualizacje kilku indywidualnych programów profilujących.
Zwiększona wydajność
Na podstawie opinii użytkowników można stwierdzić, że wydajność renderowania podczas korzystania z programów do profilowania znacznie się poprawiły. Przejdź do przekazywać opinię, zwłaszcza jeśli problemy z wydajnością nadal występują.
Opcje śledzenia alokacji pamięci przez program profilujący
Aby poprawić wydajność aplikacji podczas profilowania, Profil pamięci teraz próbkuje pamięć jest domyślnie przydzielany okresowo. W razie potrzeby możesz zmienić to działanie przez korzystając z menu Śledzenie przydziałów podczas testowania na urządzeniach Android 8.0 (poziom interfejsu API 26) lub nowszy.
W menu Śledzenie przydziałów możesz wybrać jedną z następujących opcji: tryby:
-
Pełne: przechwytuje wszystkie przydziały pamięci obiektów. Pamiętaj, że jeśli masz aplikację w którym alokacja jest duża, mogą wystąpić poważne problemy z wydajnością podczas profilowania.
-
Sampled (próbkowany): okresowo rejestruje przydział pamięci obiektów. To jest jest domyślnym zachowaniem i ma mniejszy wpływ na wydajność aplikacji podczas profilowania. W przypadku aplikacji, które przydzielają dużą liczbę obiektów w krótkim czasie, mogą wystąpić problemy z wydajnością.
-
Wyłącz: wyłącza przydzielanie pamięci. Jeśli nie jest jeszcze wybrany, ten tryb jest włączany automatycznie podczas nagrywania na procesorze, a po zakończeniu nagrywania wraca do poprzedniego ustawienia. Możesz zmienić to działanie w oknie konfiguracji rejestrowania procesora.
Śledzenie ma wpływ zarówno na obiekty Java, jak i odwołania JNI.
Sprawdzanie danych dotyczących renderowania klatek
W profilu procesora możesz teraz sprawdzić, ile czasu zajmuje aplikacji w języku Java renderowanie każdej klatki w głównym wątku interfejsu użytkownika i w wątku renderowania. Te dane mogą być przydatne podczas badania wąskich gardeł, które powodują problemy z interfejsem i niską liczbą klatek na sekundę. Na przykład każda klatka, której renderowanie trwa dłużej niż 16 ms, co jest wymagane do utrzymania płynnej liczby klatek na sekundę, jest wyświetlana na czerwono.
Aby zobaczyć dane dotyczące renderowania klatek, nagraj ślad, używając konfiguracji, która umożliwia śledzenie wywołań systemu. Po zakończeniu nagrywania w logu czasu; wyszukanie informacji o każdej klatce na osi czasu w sekcji FRAMES, jak pokazano poniżej.
Więcej informacji o badaniu i rozwiązywaniu problemów z liczbą klatek znajdziesz w artykule Powolne renderowanie.
Fragmenty na osi czasu zdarzenia
Oś czasu zdarzenia pokazuje teraz, kiedy fragmenty są dołączane i odłączane. Dodatkowo, gdy najedziesz kursorem na fragment, pojawi się etykietka z informacją o jego stanie.
Wyświetl sformatowany tekst ładunków połączeń w narzędziu do profilowania sieci
Wcześniej program profilujący sieci wyświetlał tylko nieprzetworzony tekst połączenia ładunki. Android Studio 3.3 domyślnie formatuje teraz określone typy tekstu, w tym JSON, XML i HTML. Na kartach Odpowiedź i Żądanie kliknij kliknij link Wyświetl przeanalizowany, aby wyświetlić sformatowany tekst, a następnie kliknij Link Pokaż źródło, aby wyświetlić nieprzetworzony tekst.
Więcej informacji: Sprawdź ruch w sieci za pomocą narzędzia Network Profiler.
Automatyczne pobieranie komponentów SDK
Jeśli Twój projekt wymaga komponentu SDK z platform SDK, NDK lub CMake, Gradle teraz próbuje automatycznie pobrać wymagane pakiety, o ile już wcześniej zaakceptowałeś(-aś) wszelkie powiązane umowy licencyjne za pomocą Menedżera SDK.
Więcej informacji: Automatycznie pobieraj brakujące pakiety za pomocą Gradle
Obsługa Clang-Tidy
Android Studio obsługuje teraz statyczną analizę kodu za pomocą Clang-Tidy w przypadku projektów, w których skład wchodzą: kodu natywnego. Aby włączyć obsługę Clang-Tidy, zaktualizuj pakiet NDK do wersji R18 lub nowszej.
Możesz włączyć lub ponownie włączyć inspekcje, otwierając okno Ustawienia lub Ustawienia i klikając Edytor > Inspekcje > C/C++ > Ogólne > Clang-Tidy. Po wybraniu tej inspekcji w oknie Ustawienia lub Ustawienia możesz też zobaczyć listę kontroli Clang-Tidy, które są włączone i wyłączone, w sekcji Opcja w panelu po prawej stronie. Aby włączyć dodatkowe mechanizmy kontroli, dodaj je do listy i kliknij Zastosuj.
Aby skonfigurować Clang-Tidy z dodatkowymi opcjami: kliknij Configure Clang-Tidy Checks options (Skonfiguruj opcje sprawdzania poprawności) i dodaj je w oknie, które zostanie otwarte.
Usunięcie opcji dostosowywania języka C++
Z okna Dostosowywanie obsługi C++ usunęliśmy te opcje:
- Obsługa wyjątków (-fexceptions)
- Obsługa informacji o typie środowiska wykonawczego (-ftti)
Odpowiednie zachowania są włączone we wszystkich projektach utworzonych w Android Studio.
CMake w wersji 3.10.2
Menedżer pakietu SDK zawiera teraz wersję CMake 3.10.2. Zwróć uwagę, że Gradle nadal domyślnie korzysta z wersji 3.6.0.
Aby określić wersję CMake, która ma być używana przez Gradle, dodaj poniższy kod do modułu
Plik build.gradle
:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
Więcej informacji o konfigurowaniu CMake w build.gradle
znajdziesz w artykule
Skonfiguruj Gradle ręcznie.
Nowa składnia „+” do określania minimalnej liczby wersji CMake
Podczas określania wersji CMake w pliku build.gradle
głównego modułu możesz teraz dołączyć „+”, aby dopasować działanie do polecenia CMake cmake_minimum_required()
.
Uwaga: użyj znaku „+” z innym utwórz zależności odradzamy, ponieważ zależności dynamiczne mogą powodować nieoczekiwane aktualizacje wersji mają problemy z rozpoznawaniem różnic w wersjach.
Pakiety Android App Bundle obsługują teraz aplikacje błyskawiczne
Android Studio umożliwia teraz tworzenie pakietów Android App Bundle pełna obsługa aplikacji błyskawicznych w Google Play. W Innymi słowy, można teraz tworzyć i wdrażać zarówno aplikacje instalowane, jak i dynamiczne z jednego projektu w Android Studio i uwzględnić je w jednym Android App Bundle.
Jeśli tworzysz nowy projekt Android Studio za pomocą opcji Utwórz nowy projekt kliknij pole obok Skonfiguruj projekt > Ten projekt będzie obsługiwać aplikacje błyskawiczne. Android, Studio utworzy wtedy nowy projekt aplikacji w zwykły sposób, ale zawiera te właściwości w pliku manifestu, by dodać obsługę aplikacji błyskawicznej do pola moduł podstawowy:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
Następnie możesz utworzyć funkcję obsługiwaną natychmiastowo, wybierając Plik > Nowy > Nowy moduł na pasku menu, a następnie Moduł funkcji dynamicznej obsługiwanej natychmiastowo w oknie Utwórz nowy moduł. Pamiętaj, że utworzenie tego modułu powoduje natychmiastowe włączenie modułu podstawowego aplikacji.
Aby wdrożyć aplikację na urządzeniu lokalnym w ramach aplikacji błyskawicznej: edytuj konfigurację uruchamiania i sprawdź obok pozycji Ogólne > Wdróż jako aplikację błyskawiczną.
Synchronizacja projektu z jednym wariantem
Synchronizowanie projektu z konfiguracją kompilacji to ważny krok, który pozwala Android Studio zrozumieć strukturę projektu. W przypadku dużych projektów może to jednak być czasochłonne. Jeśli Twój projekt korzysta z wielu wariantów kompilacji, możesz teraz zoptymalizować synchronizacje projektów przez ograniczając je tylko do obecnie wybranego wariantu.
Aby włączyć tę optymalizację, musisz używać Android Studio 3.3 lub nowszej wersji z wtyczką Gradle dla Androida 3.3.0 lub nowszą. Jeśli spełniasz te wymagania, IDE wyświetli prompt z prośbą o włączenie tej optymalizacji podczas synchronizowania projektu. optymalizacja jest też domyślnie włączona w nowych projektach.
Aby ręcznie włączyć tę optymalizację, kliknij Plik > Ustawienia > Eksperymentalne > Gradle (Android Studio > Ustawienia > Eksperymentalne > Gradle) i wybierz zaznacz pole wyboru Synchronizuj tylko aktywny wariant.
Uwaga: ta optymalizacja obecnie obsługuje projekty obejmujące wyłącznie język Java język programowania. Jeśli IDE wykryje w Twoim projekcie kod Kotlin lub C++, nie włączy automatycznie tej optymalizacji i nie powinieneś jej włączać ręcznie.
Więcej informacji: Włącz synchronizację projektu z jednym wariantem.
Przesyłanie szybkiej opinii
Jeśli masz włączone udostępnianie statystyk użytkowania, aby pomóc ulepszyć Android Studio, zobaczysz te 2 nowe ikony na pasku stanu u dołu IDE. okno:


Wystarczy, że klikniesz ikonę najlepiej odzwierciedlającą Twoje obecne wrażenia z IDE. Gdy to zrobisz, IDE wysyła statystyki użytkowania, które pozwalają Android Studio aby lepiej zrozumieć Twoją opinię. W niektórych przypadkach, na przykład gdy użytkownik zgłasza negatywne wrażenia związane z IDE, może przekazać dodatkową opinię.
Możesz włączyć udostępnianie statystyk użytkowania przez otwórz okno Ustawienia Ustawienia na Macu, przechodząc do Wygląd Zachowanie > Ustawienia systemu > Udostępnianie danych i sprawdzanie Wysyłaj do Google statystyki użytkowania.
3.2 (wrzesień 2018 r.)
Android Studio 3.2 to ważna wersja, która zawiera wiele nowych funkcji i ulepszeń.
3.2.1 (październik 2018 r.)
Ta aktualizacja Android Studio 3.2 zawiera następujące zmiany i poprawki:
- Pakiet Kotlin w pakiecie to teraz 1.2.71.
- Domyślna wersja narzędzi do kompilacji to teraz 28.0.3.
- Nazwy typów argumentów w bibliotece nawigacyjnej zostały zmienione z
type
doargType
. - Naprawiono następujące błędy:
- Jeśli korzystasz z biblioteki Data Binding, nazwy zmiennych z podkreśleniami powoduje błędy kompilacji.
- CMake powodowało awarie IntelliSense i innych funkcji CLion.
- Dodanie elementu
SliceProvider
powodowało błędy kompilacji w projektach, które nie korzystały z bibliotekandroidx.*
. - Niektóre testy jednostkowe Kotlina nie były uruchamiane.
- Problem z wiązaniem danych spowodował
PsiInvalidElementAccessException
<merge>
elementów powoduje czasami na wypadek awarii edytora układów.
Znane problemy w wersji 3.2.0
Uwaga: te problemy zostały rozwiązane w Android Studio. 3.2.1
Zdecydowanie zalecamy, aby nie używać wersji 1.2.70 języka Kotlin.
Kotlin w wersji 1.2.61 zawiera poprawkę błędu, który może powodować zawieszanie się Android Studio, ale Kotlin w wersji 1.2.70 nie zawiera tej poprawki.
Wersje Kotlina 1.2.71 i nowsze zawierają jednak tę poprawkę.
-
Zwykle nie trzeba określać wersji narzędzi do kompilacji, w przypadku korzystania z wtyczki Androida do obsługi Gradle w wersji 3.2.0 oraz
renderscriptSupportModeEnabled
: ustaw wartośćtrue
, Ty w dokumenciebuild.gradle
każdego modułu muszą znaleźć się te elementy plik:android.buildToolsVersion "28.0.3"
Nowości w Asystencie
Nowy asystent informuje o najnowszych zmianach w Android Studio.
Asystent otwiera się, gdy uruchomisz Android Studio po nowej instalacji lub zaktualizuje się, gdy wykryje nowe informacje do wyświetlenia. Możesz też otworzyć Asystenta, wybierając Pomoc > Co nowego w Android Studio.
Android Jetpack
Android Jetpack przyspiesza tworzenie aplikacji na Androida dzięki komponentom, narzędziom i wskazówkom, które eliminują powtarzalne zadania i umożliwiają szybsze i prostsze tworzenie wysokiej jakości aplikacji, które można testować. Android Studio zawiera: aktualizacji do obsługi Jetpacka. Więcej informacji znajdziesz w dokumentacji Jetpacka.
Edytor nawigacji
Nowy edytor nawigacji integruje się z komponentami nawigacji Androida Jetpack udostępnia graficzny widok do tworzenia struktury nawigacyjnej do aplikacji. Edytor nawigacji upraszcza projektowanie i implementację nawigacji między miejscami docelowymi w aplikacji.
Edytor nawigacji w Android Studio 3.2 to funkcja eksperymentalna. Aby włączyć Edytor nawigacji, kliknij Plik > Ustawienia (Android Studio > Preferencje na Macu), wybierz kategorię Experimental (Eksperymentalne) w panelu po lewej stronie, zaznacz pole obok opcji Enable Navigation Editor (Włącz Edytor nawigacji) i ponownie uruchom Android Studio.
Aby dowiedzieć się więcej, przeczytaj Dokumentacja Edytora nawigacji.
Migracja do AndroidaX
W ramach Jetpacka przenosimy biblioteki pomocy Androida do nowej
Biblioteka rozszerzeń Androida używająca przestrzeni nazw androidx
. Więcej
więcej informacji zawiera
Omówienie AndroidaX
Android Studio 3.2 ułatwia ten proces dzięki nowej funkcji migracji.
Aby przenieść istniejący projekt na AndroidaX, wybierz Refaktoryzacja > Przenieś do AndroidX. Jeśli masz zależności Maven, które nie zostały przeniesione do Przestrzeń nazw AndroidX, system kompilacji Android Studio również automatycznie konwertuje tych zależności projektu.
Wtyczka Androida do obsługi Gradle udostępnia te flagi globalne, które możesz ustawić w pliku gradle.properties
:
android.useAndroidX
: gdy jest ustawiona natrue
, ta flaga wskazuje, że chcesz zacząć używać AndroidaX. Jeśli flaga jest nieobecna, Android Studio działa tak, jakby flaga była ustawiona nafalse
.android.enableJetifier
: gdy jest ustawiona natrue
, ta definicja wskazuje, że chcesz objąć obsługę narzędzi (z Androida Gradle wtyczki), aby automatycznie konwertować istniejące biblioteki zewnętrzne tak, jakby na Androida X. Jeśli flaga nie jest ustawiona, Android Studio działa tak: jeśli flaga jest ustawiona nafalse
.
Obie flagi są ustawione na true
, gdy używasz
Polecenie Migrate to AndroidX (Migracja na AndroidaX).
Jeśli chcesz od razu zacząć korzystać z bibliotek AndroidaX i nie musisz
konwertowania istniejących bibliotek innych firm, możesz ustawić
flagę android.useAndroidX
do true
i
android.enableJetifier
flaga do false
.
(pakiet) Android App Bundle
Android App Bundle to nowy format przesyłania, który obejmuje wszystkie atrybuty skompilować kod i zasoby, ale opóźni to wygenerowanie i podpisanie pakietu APK Sklep Play.
Nowy model dostarczania aplikacji w Google Play korzysta z Twojego pakietu aplikacji, aby generować i przesyłać pliki APK zoptymalizowane pod kątem konfiguracji urządzenia każdego użytkownika. Dzięki temu użytkownicy pobierają tylko kod i zasoby potrzebne do uruchomienia aplikacji. Nie musisz już tworzyć, podpisywać ani zarządzać wieloma plikami APK. Użytkownicy otrzymują mniejsze, bardziej zoptymalizowane pliki do pobrania.
Możesz też dodawać moduły funkcji do projektu aplikacji oraz dodać je do pakietu aplikacji. Użytkownicy będą mogli pobierać i instalować funkcje aplikacji na żądanie.
Aby utworzyć pakiet, wybierz Utwórz > Pakiety kompilacji / pliki APK > Utwórz pakiety.
Więcej informacji, w tym instrukcje dotyczące tworzenia i analizowania Android App Bundle, patrz Android App Bundle
Przykładowe dane w edytorze układu
Wiele układów Androida zawiera dane czasu działania, co utrudnia wizualizację.
wygląd i sposób działania układu na etapie projektowania aplikacji. Ty
można teraz łatwo wyświetlić podgląd widoku w edytorze układów wypełniony
przykładowe dane. Gdy dodasz widok, w oknie Projektowanie pojawi się pod nim przycisk. Kliknij ten przycisk, aby ustawić atrybuty widoku w czasie projektowania. Możesz wybrać,
wybierając spośród różnych przykładowych szablonów danych i określając liczbę przykładowych elementów
który ma zostać wypełniony w widoku.
Aby spróbować użyć przykładowych danych, dodaj parametr
RecyclerView
aby przejść do nowego układu, kliknij przycisk atrybutów czasu projektowania
znajdujące się pod widokiem, a następnie wybrać pozycję z karuzeli przykładowych danych
szablonów.
Wycinki
Wycinki zapewniają nowy sposób umieszczania fragmentów funkcji aplikacji na innych platformach w Androidzie. Na przykład wycinki umożliwiają , aby wyświetlać funkcje i treści aplikacji w sugestiach wyszukiwarki Google.
Android Studio 3.2 ma wbudowany szablon, który pomoże Ci rozszerzyć aplikację nowych interfejsów API dostawcy wycinków, a także nowych kontroli lintowanych, aby upewnić się, zgodnie ze sprawdzonymi metodami tworzenia wycinków.
Aby rozpocząć, kliknij prawym przyciskiem myszy folder projektu i wybierz Nowe > Inne > Dostawca wycinka.
Aby dowiedzieć się więcej, m.in. jak przetestować interakcje z Slice, przeczytaj przewodnik dla początkujących dotyczący Slice.
Kotlin 1.2.61
Android Studio 3.2 zawiera Kotlin 1.2.61, a nowy pakiet Android SDK lepiej integruje się z językiem Kotlin. Więcej informacji: Blog dla deweloperów aplikacji na Androida
IntelliJ IDEA 2018.1.6
Podstawowe IDE Android Studio zostało zaktualizowane o ulepszenia od IntelliJ IDEA przez Wersja 2018.1.6.
Programatory Androida
Wypróbuj nowy program profilujący Androida w Android Studio 3.2.
Sesje
Dane z profilowania możesz teraz zapisywać jako sesje, aby móc do nich wrócić i je później sprawdzić. Program profilujący przechowuje dane sesji do momentu ponownego uruchomienia IDE.
Gdy rejestrujesz śledzenie metody lub wykonujesz zrzut stosu, IDE dodaje te dane (wraz z aktywizacją sieci aplikacji) jako osobny wpis do bieżącej sesji. Możesz łatwo przełączać się między nagraniami, aby porównywać dane.
Śledzenie systemu
W obszarze CPU Profiler wybierz
nową konfigurację śledzenia systemu, która pozwala sprawdzić procesor systemowy urządzenia
aktywność w wątku. Ta konfiguracja logu czasu jest stworzona na podstawie
systrace
Przydaje się przy badaniu problemów na poziomie systemu, takich jak zacinanie się interfejsu.
Podczas korzystania z tej konfiguracji logu czasu możesz wizualnie oznaczyć ważny kod
na osi czasu narzędzia do profilowania, dopasowując kod C/C++ za pomocą funkcji
natywny interfejs API śledzenia lub kod w języku Java z interfejsem
Zajęcia: Trace
.
Sprawdź odwołania do JNI w narzędziu Memory Profiler
Jeśli wdrażasz aplikację na urządzeniu z Androidem 8.0 (poziom interfejsu API 26) lub nowszym, możesz teraz sprawdzać przydziały pamięci dla kodu JNI aplikacji za pomocą Program profilujący pamięci,
Gdy aplikacja jest uruchomiona, wybierz fragment osi czasu, który chcesz sprawdzić, a potem w menu nad listą klas kliknij Stos JNI, jak pokazano na rysunku poniżej. Możesz oglądać obiekty na stercie w zwykły sposób. kliknij dwukrotnie obiekty na karcie Stos wywołań przydziału, aby zobaczyć, gdzie klucz JNI są przydzielane i udostępniane w kodzie.

Importowanie, eksportowanie i badanie plików zrzutu stosu pamięci
Teraz możesz importować, eksportować i sprawdzać utworzone pliki zrzutu pamięci .hprof
za pomocą narzędzia Memory Profiler.
Aby zaimportować plik .hprof
, kliknij Rozpocznij nową sesję narzędzia do profilowania
w:
w panelu Sessions (Sesje), a następnie wybierz Load from file (Załaduj z pliku). Następnie możesz:
i skontroluj jego dane w narzędziu Memory Profiler, tak samo jak w przypadku każdego innego zrzutu stosu.
Aby zapisać dane z zrzutu stosu, aby można było je później przejrzeć, użyj przycisku Eksportuj zrzut stosu po prawej stronie pozycji Zrzut stosu w panelu Sesjekcje. W wyświetlonym oknie Eksportuj jako zapisz plik z rozszerzeniem .hprof
.
Rejestruj aktywność procesora podczas uruchamiania aplikacji
Możesz teraz rejestrować aktywność procesora podczas uruchamiania aplikacji w ten sposób:
- Wybierz Uruchom > Edytuj konfiguracje w menu głównym.
- Na karcie Profilowanie wybranej konfiguracji uruchamiania zaznacz pole. obok opcji Rozpocznij rejestrowanie logu czasu podczas uruchamiania.
- Wybierz z menu konfigurację rejestrowania procesora, której chcesz użyć.
- Wdróż aplikację na urządzeniu z Androidem 8.0 (poziom interfejsu API 26) lub nowszym, wybierając Uruchom > Profil.
Eksportuj ślady procesora
Po zarejestrowaniu aktywności procesora za pomocą programu CPU Profiler możesz wyeksportować dane jako
plik .trace
, aby udostępnić go innym lub sprawdzić później.
Aby wyeksportować ślad po zarejestrowaniu aktywności procesora, wykonaj te czynności:
- Kliknij prawym przyciskiem myszy nagranie, które chcesz wyeksportować z osi czasu procesora.
- Z menu wybierz Eksportuj log czasu.
- Przejdź do miejsca, w którym chcesz zapisać plik, i kliknij Zapisz.
Importowanie i sprawdzanie plików śledzenia procesora
Teraz możesz importować i sprawdzać pliki .trace
utworzone za pomocą
Debug API lub
Program profilujący procesora. (Obecnie
nie może zaimportować nagrań śledzenia systemu).
Kliknij Rozpocznij nową sesję narzędzia do profilowania, aby zaimportować plik śledzenia.
w:
w panelu Sesje, a następnie wybierz
Wczytaj z pliku. Następnie możesz:
sprawdź jego dane za pomocą programu profilującego procesora, podobnie jak w normalnym trybie
te wyjątki:
- Aktywność procesora nie jest reprezentowana na osi czasu procesora.
- Oś czasu aktywności wątku wskazuje tylko, gdzie są dostępne dane śledzenia każdy wątek, a nie rzeczywiste stany wątku (np. aktywny, oczekiwanie lub śpiąc).
Rejestruj aktywność procesora za pomocą interfejsu Debug API
Możesz teraz rozpocząć i zatrzymać rejestrowanie aktywności procesora w CPU Profiler przez
instrumentacji aplikacji za pomocą interfejsu Debug API. Po
wdrożysz aplikację na urządzeniu, program profilujący automatycznie zacznie rejestrować procesor
aktywność, gdy aplikacja dzwoni
startMethodTracing(String tracePath)
a program profilujący przestaje rejestrować,
gdy aplikacja nawiązuje połączenie.
stopMethodTracing()
Choć
rejestruje aktywność procesora aktywowaną za pomocą tego interfejsu API, program profilujący CPU pokazuje
Debug API jako wybraną konfigurację rejestrowania procesora.
Energy Profiler
Program profilujący wyświetla wizualizację szacunkowe zużycie energii przez aplikację, a także zdarzenia systemowe, które mają wpływ na energię takich jak blokady wybudzenia, alarmy i zadania.
Energy Profiler pojawi się jako nowy wiersz u dołu Profilu. po uruchomieniu aplikacji na połączonym urządzeniu lub uruchomieniu emulatora Androida Androida 8.0 (API 26) lub nowszego,
Kliknij wiersz Energia, aby zmaksymalizować widok Energy Profiler. Umieść wskaźnik myszy na pasku na osi czasu, aby wyświetlić podział zużycia energii na zasoby procesora, sieci i lokalizacji (GPS), a także odpowiednie zdarzenia systemowe.
Zdarzenia systemowe, które mają wpływ na zużycie energii, są widoczne na osi czasu System pod osią czasu Energia. Szczegóły zdarzeń systemowych w wybranym zakresie czasowym są wyświetlane na panelu zdarzeń, gdy wybierzesz zakres czasowy na osi czasu Energy.
Aby zobaczyć stos wywołań i inne szczegóły zdarzenia systemowego, takiego jak blokada wybudzenia, wybierz ją w panelu zdarzeń. Aby otworzyć kod odpowiedzialny za zdarzenie systemowe: kliknij dwukrotnie wpis w stosie wywołań.
Sprawdzanie ubrań
Android Studio 3.2 zawiera wiele nowych i ulepszonych funkcji do sprawdzania błędów.
Nowe narzędzia do kontroli lintowania ułatwiają wykrywanie i identyfikowanie typowych problemów z kodem, obejmując od ostrzeżeń o potencjalnych problemach z obsługą po błędy o wysokim priorytecie dotyczące potencjalnych lukach w zabezpieczeniach.
Lint sprawdza interoperacyjność Javy i Kotlina
Aby mieć pewność, że Twój kod w Javie będzie dobrze współpracował z kodem Kotlin, kontrole lintują, stosując sprawdzone metody opisane w Przewodnik po narzędziu Kotlin Interop. Przykłady takich kontroli to sprawdzanie obecności adnotacji Nullability, używanie twardych słów kluczowych w Kotlinie oraz umieszczanie parametrów lambda na końcu.
Aby włączyć te kontrole, kliknij Plik > Ustawienia (Android Studio > Preferencje na Macu), otwórz okno Ustawienia, przejdź do sekcji Edytor > Inspekcja > Android > Lint > Współpraca > Współpraca Kotlina i wybierz reguły, które chcesz włączyć.

Aby włączyć te kontrole kompilacji wiersza poleceń, dodaj ten kod do
Plik build.gradle
:
android {
lintOptions {
check 'Interoperability'
}
}
Sprawdzanie lin na wycinki
Funkcja sprawdzania lintowania wycinków pomaga zapewnić, że wycinki są tworzone . Na przykład sprawdzanie kodu pod kątem błędów ostrzega, jeśli nie przypisałeś głównej czynności do fragmentu.
Nowy cel Gradle
Użyj nowego zadania Gradle lintFix
, aby zastosować wszystkie bezpieczne
poprawki sugerowane przez sprawdzanie lint bezpośrednio do kodu źródłowego. Przykład sprawdzania błędów, który sugeruje bezpieczne rozwiązanie: SyntheticAccessor
.
Aktualizacje metadanych
Zaktualizowano różne metadane, np. weryfikację usługi, aby działały one w przypadku kontroli lint na Androidzie 9 (poziom interfejsu API 28).
Ostrzeżenie w przypadku uruchamiania lint w nowym wariancie
Lint rejestruje teraz, z którym wariantem i wersją, przy użyciu którego jest rejestrowany element bazowy, oraz lintowanie ostrzega, jeśli zostanie uruchomiony w innym wariancie niż ten, w przypadku którego baza danych została utworzona.
Ulepszenia istniejących kontroli lint
Android Studio 3.2 zawiera wiele ulepszeń dotychczasowych kontroli lint. Na przykład sprawdzanie cyklu zasobów dotyczy teraz dodatkowych typów zasobów, a detektor tłumaczeń może w bieżącym czasie znajdować brakujące tłumaczenia w edytorze.
Łatwiejsze do znalezienia identyfikatory problemów
Identyfikatory problemów pojawiają się teraz w większej liczbie miejsc, m.in. w narzędziu Sprawdzanie
z wynikami. Ułatwia to znajdowanie informacji,
muszą włączyć lub wyłączyć określone kontrole za pomocą lintOptions
w
build.gradle
Więcej informacji znajdziesz w artykule Konfigurowanie opcji lint za pomocą Gradle.
Powiązanie danych w wersji 2
Powiązanie danych w wersji 2 jest teraz domyślnie włączone i jest zgodne z wersją 1. Oznacza to, że jeśli masz biblioteki zależne skompilowane za pomocą wersji 1, możesz ich używać w projektach korzystających z powiązań danych w wersji 2. Pamiętaj jednak, że projekty korzystające z wersji 1 nie mogą używać zależności skompilowanych przy użyciu wersji 2.
Odlukrowywanie D8
W Android Studio 3.1 zintegrowaliśmy etap odsłuchiwania z narzędziem D8 jako eksperymentalną funkcję, która skraca ogólny czas kompilacji. W Android Studio 3.2 odsłuchiwanie za pomocą D8 jest domyślnie włączone.
Nowy zmniejszacz kodu
R8 to nowe narzędzie do kompresowania i zaciemniania kodu, które zastępuje ProGuard. Aby zacząć korzystać z wersji podglądu R8, w pliku gradle.properties
projektu dodaj:
android.enableR8 = true
zmiana domyślnych interfejsów ABI w przypadku zestawów wielu plików APK;
Podczas tworzenia wielu plików APK,
jest kierowane na inny interfejs ABI, wtyczka nie generuje już plików APK dla
te interfejsy ABI domyślnie: mips
, mips64
i armeabi
.
Jeśli chcesz utworzyć pliki APK kierowane na te interfejsy ABI, musisz użyć
NDK r16b lub niższy i określ interfejsy ABI
w pliku build.gradle
, jak pokazano poniżej:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
Uwaga: ta zmiana działania jest też dostępna w Android Studio 3.1 RC1 i wyżej.
Ulepszone funkcje edytora dotyczące plików kompilacji CMake
Jeśli używasz CMake do dodawania kodu C i C++ do projektu, Android Studio zawiera teraz ulepszone funkcje edytora, które ułatwiają edytowanie skryptów kompilacji CMake, np.:
- Wyróżnianie składni i uzupełnianie kodu: IDE wyróżnia i sugeruje uzupełnienie kodu w popularnych poleceniach CMake. Możesz też przejść do pliku, klikając go i przytrzymując klawisz Klawisz Ctrl (Command na Macu).
- Formatowanie kodu: możesz teraz użyć opcji formatowania kodu w IntelliJ, aby zastosować style kodu do skryptów kompilacji CMake.
- Bezpieczne refaktoryzowanie: wbudowane narzędzia refaktoryzacji w IDE sprawdzają teraz, czy zmieniasz nazwę lub usuwasz pliki, do których odwołujesz się w skryptach kompilacji CMake.
Poruszanie się po zewnętrznych plikach nagłówka
Używając okna Projekt w poprzednich wersjach Androida Studio, może przeglądać i sprawdzać tylko pliki nagłówkowe należące do Twoich bibliotek z projektu lokalnego. W tej wersji możesz też wyświetlać i sprawdzać pliki nagłówka dołączone do importowanych zależności zewnętrznych bibliotek C/C++ w projekt aplikacji.
Jeśli włącz w swoim projekcie kod i biblioteki C/C++, otwórz okno Projekt po lewej stronie IDE, wybierając Widok > Okna narzędziowe > Project (Projekt) z menu głównego, a następnie z menu wybierz Android (Android). w menu. Wszystkie nagłówki znajdujące się w katalogu cpp zakresu projektu aplikacji są uporządkowane w węźle include dla każdego zależności między lokalną biblioteką C/C++, jak pokazano poniżej.

Reklama natywna w formacie multidex domyślnie włączona
Poprzednie wersje Android Studio zawierały natywne rozwiązanie Multidex podczas wdrażania
do debugowania wersji aplikacji na urządzeniu z interfejsem API Androida na poziomie 21 lub wyższym. Teraz,
niezależnie od tego, czy wdrażasz je na urządzeniu, czy tworzysz
pakiet APK wersji, Android
wtyczka do Gradle włącza natywny format Multidex dla wszystkich ustawionych modułów
minSdkVersion=21
lub więcej.
Plik AAPT2 został przeniesiony do repozytorium Maven Google
Począwszy od Android Studio 3.2, AAPT2 (Android Asset Packaging Tool 2) jest repozytorium Google Maven.
Aby używać AAPT2, upewnij się, że w Twojej sekcji jest zależność google()
build.gradle
, jak tutaj:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
Nowa wersja AAPT2 rozwiązuje wiele problemów, w tym poprawioną obsługę znaków innych niż ASCII w systemie Windows.
Usunięcie konfiguracji na żądanie
Z Android Studio usunięto preferencję Konfiguruj na żądanie.
Android Studio nie przechodzi już procesu --configure-on-demand
do Gradle.
Asystent połączenia ADB
Nowy Asystent połączeń ADB zawiera szczegółowe instrukcje, które pomogą Ci skonfigurować urządzenie i korzystać z niego Połączenie Android Debug Bridge (ADB).
Aby uruchomić asystenta, wybierz Narzędzia > Asystent połączenia.
Asystent połączenia ADB zawiera instrukcje, kontekstowe elementy sterujące oraz listę połączonych urządzeń na serii stron w panelu Asystent.
Ulepszenia emulatora
Teraz w dowolnym momencie możesz zapisywać i wczytywać zrzuty urządzenia AVD (urządzenie wirtualne z Androidem) w emulatorze Androida, dzięki czemu możesz szybko i łatwo przywrócić emulowane urządzenie do znanego stanu na potrzeby testowania. Podczas edytowania pliku AVD za pomocą narzędzia AVD Menedżera, możesz określić, który zrzut AVD ma być wczytywany po uruchomieniu AVD.
Elementy sterujące służące do zapisywania, wczytywania i zarządzania snapshotami AVD znajdują się teraz na karcie Snapshoty w oknie Rozszerzone opcje emulatora.
Więcej informacji znajdziesz w sekcji Zrzuty dysku.
Więcej informacji o nowościach i zmianach w emulatorze znajdziesz w informacjach o wersji emulatora.
3.1 (marzec 2018 r.)
Android Studio 3.1.0 to ważna wersja, która zawiera wiele nowych funkcji i ulepszeń.
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 głównej Kotlina zakończyła się niepowodzeniem z powodu błędu:
"Error: Could not find or load main class..."
- R8 wchodził w nieskończoną pętlę podczas wykonywania pewnych optymalizacji.
- Użycie polecenia Ponowne uruchomienie nieudanych testów w oknie Uruchom czasami nieprawidłowo zwracało komunikat „Nie znaleziono żadnych testów”.
-
D8 nie obsługiwało prawidłowo
invoke-virtual
instancji, powodująca wypadek zVerifyError
:invoke-super/virtual can't be used on private method
-
Kompilator powiązań danych był zależny od starszej wersji
com.android.tools:annotations
. Kompilator korzysta teraz z uwag narzędzi z projektu bazowego, jeśli są dostępne. - Android Studio ulega awarii podczas przechodzenia między fragmentami podczas korzystania z profilujących.
- 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.)
Ta aktualizacja Android Studio 3.1 zawiera poprawki tych błędów:
- Wycieki pamięci spowodowały, że Android Studio działa wolno i nie reaguje przed rozpoczęciem korzystania z Edytora układów. Ta aktualizacja zawiera poprawki dla większości z nich. 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.)
Aktualizacja Android Studio 3.1 zawiera poprawki następujących 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łączona była funkcja Instant Run, kompilacja nowych projektów w języku Kotlin nie powiodła się, gdy została uruchomiona 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"
- Obliczenie głównej listy DEX w D8 nie uwzględniało niektórych wywołań przez odbicie.
Ta aktualizacja obejmuje też zmiany, które uruchamiają sprawdzanie lint z Gradle może działać znacznie szybciej.
3.1.1 (kwiecień 2018 r.)
Aktualizacja Android Studio 3.1 zawiera poprawki następujących błędów:
-
W niektórych przypadkach po otwarciu projektu utworzonego w Android Studio 3.0 w Android Studio 3.1, specjalizujące się w programie Gradle zadanie tworzenia – usunięto z obszaru Przed uruchomieniem w sekcji Uruchom/debugowanie Konfiguracje. 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 dodaliśmy narzędzie do konfiguracji uruchamiania w projektach, w których brakuje tego wpisu. Ta modyfikacja następuje po pierwszej synchronizacji Gradle, gdy projekt jest wczytywany.
- Debuger uległ awarii podczas debugowania układu z polem tekstowym (jeśli jest zaawansowany) włączono profilowanie.
- Usługa Android Studio zawiesiła się po kliknięciu Utwórz warianty.
- Pliki AAR (archiwum Androida) zostały wyodrębnione dwukrotnie, 1 raz podczas Gradle. synchronizacji oraz 1 raz podczas procesu kompilacji Gradle.
- W niektórych wektorowych obiektach 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.
Szczegółowe informacje znajdziesz w informacjach o wersji JetBrains dotyczących IntelliJ IDEA w wersjach 2017.2 i 2017.3, a także w informacjach o wersji JetBrains dotyczących aktualizacji z poprawkami 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:
- Wskazówki kodu w ramach
Query
rozumieją tabele SQL (elementy), kolumny, parametry zapytań, aliasy, złączenia, podzapytania i klauzule WITH. - Wyróżnianie składni SQL działa już.
- Możesz kliknąć prawym przyciskiem myszy nazwę tabeli w SQL i zmienić jej nazwę. Spowoduje to też przepisuje odpowiedni kod Java lub Kotlin (w tym na przykład zwracany typ zapytania). 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 elementu SQL w kodzie Java lub Kotlin, możesz kliknąć element, przytrzymując klawisz Control (Command na Macu).
Informacje o używaniu SQL z pokojami znajdziesz w artykule Zapisuj dane w lokalnym pliku w bazie danych za pomocą opcji Room.
Aktualizacje danych powiązanie
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 swoim konstruktorze. -
Możesz wyświetlić podgląd nowego kompilatora przyrostowego do wiązania danych zajęcia. Szczegółowe informacje o tym nowym kompilatorze oraz instrukcje jego włączania znajdziesz w artykule Kompilator powiązań danych w wersji 2.
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 kompilator DEX
Kompilator D8 jest teraz domyślnie używany do generowania kodu bajtowego DEX.
Ten nowy kompilator DEX przynosi liczne korzyści, w tym :
- Szybsza dexing
- Mniejsze wykorzystanie pamięci
- Ulepszona generacja kodu (lepsza alokacja rejestrów, inteligentniejsze tabele ciągów znaków)
- 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 w elementach gradle.properties
i android.enableD8
flaga android.enableD8
ma wartość false
, usuń tę flagę lub ustaw ją na true
:
android.enableD8=true
Więcej informacji: Nowy kompilator DEX.
Przyrostowy desugaring
W przypadku projektów, które korzystają z funkcji języka Java 8, stopniowe usuwanie cukru jest domyślnie włączone, co może skrócić czas kompilacji.
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 przez kompilację które zawiera karty Synchronizacja i Tworzenie.
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++. Wprowadziliśmy następujące udoskonalenia:
-
Jeśli pracujesz nad dużymi projektami w języku C++, możesz zauważyć znaczną poprawę i skracanie czasu potrzebnego na budowanie symboli. Czas synchronizacji jest też znacznie krótszy 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 nie działa w 32-bitowym systemie Windows. Jeśli używasz 32-bitowego systemu Windows i debugować kod natywny, użyj Android Studio 2.3.
Kotlin
Kotlin został uaktualniony do wersji 1.2.30
Android Studio 3.1 zawiera Kotlin wersji 1.2.30.
Kod Kotlina jest teraz analizowany za pomocą kontroli lint w wierszu poleceń
Uruchamianie lintowania z wiersz poleceń analizuje teraz klasy Kotlin.
W przypadku każdego projektu, w którym chcesz uruchomić lint, w pliku build.gradle
najwyższego poziomu musisz uwzględnić repozytorium Maven firmy Google. Repozytorium Maven jest już uwzględnione w przypadku projektów tworzonych w
Android Studio 3.0 lub nowszy.
Narzędzia zwiększające skuteczność
Przykładowe natywne procesy w C++ za pomocą narzędzia CPU Profiler
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. Potem nagrać sprawdź ś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).
Filtrowanie śladów procesora, wyników alokacji pamięci i zrzutów sterty
Program profilujący CPU oraz Program profilujący pamięci zawiera funkcję wyszukiwania, która umożliwia filtrowanie wyników z rejestrowania metody śledzenia, alokacji pamięci czy zrzutu stosu.

Aby wyszukać, kliknij Filtruj.
w prawym górnym rogu panelu, wpisz
i naciśnij Enter.
Wskazówka: pole wyszukiwania możesz też otworzyć, naciskając Control + F (Command + F na Macu).
Na karcie Wykres słupkowy w profilu CPU stosy wywołań zawierające metody związane z Twoim zapytaniem wyszukiwania są wyróżnione i przesuwane na lewą stronę 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 Program profilujący podał tylko informacje o odpowiedziach sieciowych.
Widok wątku w profilu sieci
Po wybraniu fragmentu osi czasu w profilu sieci możesz wybrać jedną z tych kart, aby zobaczyć więcej szczegółów dotyczących aktywności sieci w wybranym przedziale czasowym:
- 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. Dla: możesz skontrolować rozmiar, typ, stan i czas transmisji.
- Widok wątku: wyświetla aktywność sieci w przypadku każdego wątku procesora aplikacji. Ten widok pozwala sprawdzać, które wątki aplikacji są odpowiedzialne dla każdego żądania sieciowego.

Narzędzie do inspekcji układu
Inspektor układu zyskał nowe funkcje, w tym niektóre funkcje, które były wcześniej dostępne w wycofanych narzędziach Hierarchy Viewer i Pixel Perfect:
- przyciski powiększania i skróty klawiszowe służące do nawigacji 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:
- Zmiana organizacji 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 dotyczące otwierania dokumentacji dotyczącej 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, korzystając z nowych przycisków w inspektorze widoku u góry okna Atrybuty.
Bieganie i Błyskawiczne uruchamianie
Zwiększono spójność działania opcji Użyj tego samego wyboru w przyszłych wersjach w oknie Wybieranie celu wdrożenia. Jeśli włączona jest opcja Użyj tych samych opcji, okno Wybierz docelowe wdrożenie otworzy się tylko przy pierwszym użyciu polecenia Uruchom i będzie widoczne do momentu odłączenia wybranego urządzenia.
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:
- migawki Szybkiego uruchamiania, które służą do zapisywania stanu emulatora i szybszego uruchamiania, z możliwością użycia polecenia Zapisz teraz do zapisania niestandardowego stanu uruchamiania.
- Bezoknowy ekran emulatora.
- Obrazy systemowe dla Androida 8.0 (poziom interfejsu API 26), Androida 8.1 (poziom interfejsu API 27) i wersji zapoznawczej Androida P dla programistów.
Interfejs i wygoda użytkownika ulepszenia
Więcej etykietek, skrótów klawiszowych i przydatne wiadomości
Dodaliśmy etykietki narzędzi i przydatne komunikaty w wielu miejscach 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 znajdowały się 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ądzenia pełni mniejszą rolę niż wcześniej. W wielu przypadkach funkcje dostępne w Monitorze urządzeń są teraz obsługiwane przez nowe i ulepszone narzędzia.
Więcej informacji o uruchamianiu Monitora urządzeń z wiersza poleceń oraz o narzędziach dostępnych w tym narzędziu znajdziesz w dokumentacji Monitora urządzeń.
3.0 (październik 2017 r.)
Android Studio 3.0.0 to duża wersja, która zawiera wiele nowych funkcje i ulepszenia.
Użytkownicy systemu macOS: jeśli aktualizujesz starszą wersję Android Studio, może pojawić się okno błędu aktualizacji z komunikatem „Znaleziono konflikty w obszarze instalacji”. Zignoruj ten błąd i kliknij Anuluj, aby wznowić instalację.
3.0.1 (listopad 2017 r.)
To jest drobna aktualizacja Android Studio 3.0, obejmująca ogólny błąd zawierające poprawki i usprawniające działanie aplikacji.
Wtyczka Androida do obsługi Gradle 3.0.0
Nowa wtyczka do aplikacji Gradle na Androida zawiera szereg ulepszeń i nowych funkcji, ale przede wszystkim kompensować wydajność projektów z dużą liczbą modułów. Podczas korzystania z nowego wtyczki w przypadku tych dużych projektów należy pamiętać o tych kwestiach:
- Krótszy czas konfiguracji kompilacji ze względu na nowe, opóźnione rozwiązywanie zależności.
- Rozwiązywanie zależności z uwzględnieniem wariantów tylko dla projektów i wariantów, które tworzysz.
- szybszego przyrostu wartości w przypadku zastosowania prostych zmian w kodzie lub i zasobami Google Cloud.
Uwaga: te ulepszenia wymagały wprowadzenia istotnych zmian, które powodują przerwanie działania niektórych funkcji wtyczki, DSL i interfejsów API. Aktualizacja do wersji 3.0.0 może wymagać zmian w plikach kompilacji i wtyczkach Gradle.
W tej wersji znajdują się również:
- Obsługa Androida 8.0.
- Obsługa tworzenia osobnych plików APK na podstawie zasobów językowych.
- obsługa bibliotek Java 8 i funkcji językowych Java 8 (bez kompilatora Jack);
- Obsługa biblioteki pomocy Android Test Library 1.0 (Android Test Utility i Android Testinteresor).
- Większa szybkość kompilacji ndk i cmake.
- Zwiększona szybkość synchronizacji Gradle.
- AAPT2 jest teraz domyślnie włączony.
- Korzystanie z usługi
ndkCompile
jest teraz bardziej ograniczone. Zamiast tego przejdź na przy użyciu CMake lub ndk-build, aby skompilować kod natywny, który chcesz spakować do pliku APK. Więcej informacji: Migracja z ndkbuild.
Więcej informacji o zmianach znajdziesz na stronie wtyczki Androida do Gradle informacje o wersji.
Jeśli chcesz przejść na nową wersję wtyczki, przeczytaj artykuł Przejście na wtyczkę Androida do obsługi Gradle w wersji 3.0.0.
Pomoc Kotlin
Zgodnie z ogłoszeniem z konferencji Google I/O 2017, Język programowania Kotlin jest teraz oficjalnie obsługiwany w Androidzie. W tej wersji Android Studio zawiera język Kotlin. i obsługuje programowanie na Androida.
Możesz włączyć Kotlin do swojego projektu, konwertując plik Java na Kotlin (kliknij Kod > Konwertuj plik Java na plik Kotlin) lub utwórz nowy plik Kotlin- przy użyciu kreatora nowego projektu.
Na początek dowiedz się, jak dodać Kotlina do projektu.

Obsługa funkcji języka Java 8
Możesz teraz używać niektórych funkcji języka Java 8 i korzystać z bibliotek napisanych w języku Java 8. Jack nie jest już wymagany. Najpierw wyłącz Jacka, aby korzystać z ulepszonej obsługi Java 8 wbudowanej w domyślny zestaw narzędzi.
Aby zaktualizować projekt tak, aby obsługiwał nowy łańcuch narzędzi języka Java 8, zaktualizuj zgodność źródła i zgodność docelową na 1.8. w oknie Struktura projektu (kliknij Plik > Struktura projektu). Więcej informacji znajdziesz w artykule Korzystanie z funkcji języka Java 8.

Profilator Androida
Nowy program profilujący Androida zastępuje narzędzie Android Monitor i zapewnia nowego zestawu narzędzi do pomiaru wykorzystania procesora, pamięci i sieci w czasie rzeczywistym. Możesz śledzić metody oparte na próbkach, aby określić czas swojego kodu wykonywanie, wykonywanie zrzutów stosu, wyświetlanie przydziałów pamięci i sprawdzanie szczegółów plików przesyłanych przez sieć.
Aby go otworzyć, kliknij Widok > Okna narzędziowe > Program profilujący Androida (lub kliknij Android Profiler na pasku narzędzi).
Oś czasu zdarzenia u góry okna pokazuje zdarzenia dotknięcia, i zmian aktywności, co daje szerszy kontekst do zrozumienia zdarzenia wydajności na osi czasu.
Uwaga: widok Logcat również został przeniesiony do osobne okno (wcześniej było ono w Android Monitor, które zostało usunięte).

Na osi czasu narzędzia do profilowania Androida kliknij CPU, PAMIĘĆ, lub SIEĆ, aby uzyskać dostęp do odpowiednich narzędzi do profilowania.
Program profilujący procesora
Program profilujący CPU pomaga analizować wykorzystanie wątków procesora przez aplikację przez: aktywując przykładowy lub zinstrumentowany log czasu procesora. Potem możesz: rozwiązywać problemy z wydajnością procesora przy użyciu różnych widoków danych i filtrów.
Więcej informacji znajdziesz w przewodniku po narzędziu CPU Profiler.

Memory Profiler
Memory Profiler pomaga wykrywać wycieki pamięci i jej utratę, które mogą mogą się zacinać, zawieszać się, a nawet ulegać awariom. Widać tu wykres w czasie rzeczywistym wykorzystuje pamięć aplikacji, umożliwia wykonanie zrzutu stosu, wymuszanie czyszczenia pamięci, i śledzić alokacje pamięci.
Więcej informacji znajdziesz w przewodniku po narzędziu Profilerator pamięci.

Program profilujący sieci
Profilator sieci umożliwia monitorowanie aktywności sieciowej aplikacji, sprawdzanie ładunku każdego żądania sieciowego i powrót do kodu, który wygenerował żądanie sieciowe.
Więcej informacji znajdziesz w przewodniku po programie profilującym sieci (Network Profiler).

Profilowanie i debugowanie plików APK
Android Studio umożliwia teraz profilowanie i debugowanie pakietu APK, bez konieczności tworzenia go na podstawie projektu Android Studio. Plik APK może umożliwiać debugowanie oraz masz dostęp do symboli i plików źródłowych.
Aby rozpocząć, kliknij Profil lub debugowanie pliku APK w Ekran powitalny Android Studio. Jeśli projekt jest już otwarty, na pasku menu kliknij Plik > Profil lub debugowanie pliku APK. Wyświetla rozpakowane pliki APK, ale nie dekompiluje kodu. Aby więc prawidłowo dodawać punkty przerwania i wyświetlać zrzuty stosu, dołącz pliki źródłowe Javy i symbole do debugowania kodu natywnego.
Więcej informacji: Profil i debugowanie gotowych plików APK.

Device File Explorer
Nowy Eksplorator plików na urządzeniu umożliwia sprawdzanie systemu plików na urządzeniu, które jest połączone z komputera, oraz przesyłanie plików między urządzeniem a kompjuterem. Zastępuje ono narzędzie systemu plików dostępne w DDMS.
Aby ją otworzyć, kliknij Widok > Okna narzędzia > Eksplorator plików urządzenia.
Więcej informacji: Przewodnik po Eksploratorze plików na urządzeniu

Obsługa aplikacji błyskawicznych
Obsługa Aplikacji błyskawicznych na Androida umożliwia tworzenie aplikacji błyskawicznych projektu z 2 nowymi typami modułów: modułami aplikacji błyskawicznej i modułami funkcji. (wymagają one zainstalowania pakietu SDK dla programistów aplikacji błyskawicznych).

Android Studio zawiera też nowe działanie refaktoryzacji modułowej, które ułatwia dodanie obsługi aplikacji błyskawicznych w dotychczasowym projekcie. Jeśli chcesz na przykład zrefaktoryzować projekt, aby umieścić zajęcia w module funkcji aplikacji błyskawicznej; wybierz zajęcia w oknie Projekt i kliknij Refaktoryzacja > Modularyzacja. W wyświetlonym oknie wybierz moduł, w którym zajęcia kliknij OK.
Aby przetestować aplikację błyskawiczną, możesz utworzyć i uruchomić z modułu aplikacji błyskawicznej na połączonym urządzeniu. W tym celu podaj adres URL aplikacji błyskawicznej. podczas uruchamiania konfiguracji opcji: wybierz Uruchom > Edytuj konfiguracje, wybierz moduł aplikacji błyskawicznej i ustaw adres URL w sekcji Opcje uruchamiania.
Więcej informacji znajdziesz w artykule Aplikacje błyskawiczne na Androida.
Moduły Android Things
Pomoc: nowe szablony Android Things w narzędziach New Project i New Module z urządzeniami IoT z Androidem.
Więcej informacji znajdziesz w artykule o tworzeniu projektu Android Things.
Kreator ikon adaptacyjnych
Studio zasobów graficznych obsługuje teraz elementy rysunkowe wektorowe oraz pozwala tworzyć ikony adaptacyjnego programu uruchamiającego Androida 8.0, a jednocześnie tworzyć tradycyjne ikony (ikony „Starsze”); starszych urządzeń.
Aby rozpocząć, kliknij prawym przyciskiem myszy folder res w projektu, a następnie kliknij Nowy > Komponent z obrazem. W oknie Asset Studio wybierz jako typ ikony Ikony Menu z aplikacjami (adaptacyjne i starsze).
Uwaga: aby używać adaptacyjnego programu uruchamiającego, musisz ustawić compileSdkVersion
na 26 lub więcej
.
Więcej informacji: Ikony adaptacyjne.

Obsługa zasobów czcionek
Aby zapewnić obsługę nowych zasobów czcionek w Androidzie 8.0, Android Studio zawiera selektor zasobów czcionek, który pomoże połączyć czcionki z aplikacją lub skonfigurować projektu, aby pobrać czcionki na urządzenie (jeśli są dostępne). Układ może też wyświetlić podgląd czcionek w układzie.
Aby wypróbować czcionki do pobrania, sprawdź, czy na urządzeniu lub w emulatorze są zainstalowane Usługi Google Play w wersji 11.2.63 lub nowszej. Więcej informacji: Czcionki do pobrania

Asystent indeksowania aplikacji Firebase
Do Asystenta Firebase dodaliśmy nowy samouczek dotyczący testowania aplikacji Indeksowanie. Aby otworzyć Asystenta, kliknij Narzędzia > Firebase. Następnie wybierz Indeksowanie aplikacji > Przetestuj indeksowanie aplikacji.
Samouczek zawiera nowe przyciski do testowania indeksowania treści publicznych i osobistych:
- W kroku 2 kliknij Podgląd wyników wyszukiwania, aby sprawdzić, czy adresy URL wyświetlają się w wynikach wyszukiwania Google.
- W kroku 3 kliknij Sprawdź, czy nie ma błędów, aby sprawdzić, czy plik Obiekty w aplikacji zostały dodane do indeksu treści osobistych.
Asystent linków aplikacji na Androida
Asystent linków aplikacji Udostępniono następujące nowe funkcje:
-
Dodaj testy adresów URL dla każdego mapowania adresów URL, aby mieć pewność, że filtry intencji działają prawidłowo w przypadku rzeczywistych adresów URL.
Możesz też zdefiniować te testy adresów URL ręcznie, używając tagu
<tools:validation>
, który opisujemy poniżej. -
Utwórz plik Digital Asset Links z odpowiednim wpisem obiektu do obsługuje funkcję Google Smart Lock. i dodaj odpowiedni tag
asset_statements
<meta-data>
do manifestu.

Walidator filtra intencji URL
Android Studio obsługuje teraz w pliku manifestu specjalny tag, który umożliwia do przetestowania adresów URL filtrów intencji. To te same tagi, co linki aplikacji Asystent może tworzyć treści za Ciebie.
Deklarowanie testowego adresu URL
w przypadku filtra intencji dodaj element <tools:validation>
odpowiadającego mu elementu <intent-filter>
. Na przykład:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
Pamiętaj, aby umieścić też xmlns:tools="http://schemas.android.com/tools"
w:
tag <manifest>
.
Jeśli którykolwiek z testowych adresów URL nie spełnia definicji filtra intencji, pojawi się błąd lint. Taki błąd nadal umożliwia tworzenie wersji debugowania, ale spowoduje błąd w wersjach publikowanych.

Edytor układu
Edytor układów został zaktualizowany z licznymi ulepszeniami, takimi jak:
- Nowy układ i ikony paska narzędzi.
- Zaktualizowano układ w drzewie komponentów.
- Poprawiono wstawianie widoku metodą „przeciągnij i upuść”.
- Nowy panel błędów pod edytorem, który zawiera wszystkie problemy ze sugestiami dotyczącymi ich rozwiązania (jeśli są dostępne).
- Różne ulepszenia interfejsu kompilowania za pomocą
ConstraintLayout
, w tym następujące:- Nowe wsparcie w zakresie tworzenia przeszkód.
- Nowa obsługa tworzenia grup: na pasku narzędzi wybierz Wytyczne > Dodaj grupę (wymaga ConstraintLayout 1.1.0 w wersji beta 2 lub wyższa)
- Nowy interfejs do tworzenia łańcuchów: wybierz kilka widoków i kliknij prawym przyciskiem myszy i wybierz Sieć.

Inspektor układu
Moduł Inspekcja układu zawiera ulepszenia, które ułatwiają debugowanie problemów z układem aplikacji, m.in. grupowanie właściwości według wspólnych kategorii i nowe funkcje wyszukiwania w panelach Drzewo widoku i Właściwości.

APK Analyzer
Możesz teraz użyć Analizatora plików APK z poziomu wiersza poleceń z
apkanalyzer
.
Analizator plików APK został też zaktualizowany o następujące ulepszenia:
- W przypadku plików APK utworzonych za pomocą ProGuard możesz wczytywać pliki mapowania ProGuard, które dodają funkcje do przeglądarki DEX, takie jak:
- Pogrubione węzły wskazują, że nie należy ich usuwać podczas kompresji kodu.
- Przycisk wyświetlania węzłów, które zostały usunięte podczas procesu zmniejszania.
- przycisk, który przywraca pierwotne nazwy węzłów w widoku drzewa, które zostały zaciemnione przez ProGuarda;
- Narzędzie DEX Viewer wyświetla teraz szacowany wpływ rozmiaru każdego pakietu, klasy i metody.
- Nowe opcje filtrowania u góry służące do wyświetlania i ukrywania pól oraz metod.
- W widoku drzewa są wyświetlane węzły, które nie są odwołaniami zdefiniowanymi w pliku DEX. kursywą.
Więcej informacji znajdziesz w artykule Analizowanie kompilacji przy użyciu Analizatora plików APK.
Wersja przedpremierowa kompilatora D8 DEX
Android Studio 3.0 zawiera opcjonalny nowy kompilator DEX o nazwie D8. Ostatecznie zastąpi on kompilator DX, ale już teraz możesz zacząć używać nowego kompilatora D8.
Kompilacja DEX bezpośrednio wpływa na czas kompilacji aplikacji (plik .dex
)
rozmiar i wydajność środowiska wykonawczego. W porównaniu z obecnym kompilatorem DX kompilator D8 kompiluje szybciej i generuje mniejsze pliki .dex
, a zapewnia taką samą lub lepszą wydajność aplikacji w czasie działania.
Aby wypróbować tę funkcję, w pliku gradle.properties
projektu ustaw te opcje:
android.enableD8=true
Więcej informacji znajdziesz w poście na blogu na temat kompilatora D8.
Repozytorium Google Maven
Android Studio domyślnie używa teraz repozytorium Maven Google zamiast polegać na Menedżerze pakietu SDK Androida, aby pobierać aktualizacje biblioteki Android Support Library, Usług Google Play, Firebase i innych zależności. Dzięki temu łatwiej Dbaj o to, by biblioteki były aktualne, szczególnie wtedy, gdy używasz w systemie ciągłej integracji (CI).
Wszystkie nowe projekty domyślnie zawierają teraz repozytorium Google Maven. Aby zaktualizować
w istniejącym projekcie, dodaj google()
w bloku repositories
sekcji
plik build.gradle
najwyższego poziomu:
allprojects {
repositories {
google()
}
}
Dowiedz się więcej o repozytorium Google Maven.
Inne zmiany
- Debugowanie natywne w Android Studio nie obsługuje już 32-bitowego systemu Windows. Zdecydowaliśmy się skupić na innych platformach, ponieważ niewielu programistów używa tę platformę. Jeśli używasz 32-bitowej wersji systemu Windows i planujesz debugowanie kodu natywnego, nadal używaj Android Studio 2.3.
- Uaktualniliśmy podstawowe środowisko IDE do wersji IntelliJ 2017.1.2, która zawiera wiele nowych funkcji z wersji 2016.3 i 2017.1, takich jak refaktoryzacja języka Java 8, podpowiedzi parametrów, podświetlenie semantyczne, przeciągane punkty przerwania, natychmiastowe wyniki wyszukiwania i wiele innych.
- Dodano wiele nowych sprawdzania lint.
- Sprawdź też najnowsze aktualizacje emulatora Androida.
2.3 (marzec 2017 r.)
Android Studio 2.3.0 to przede wszystkim poprawki błędów i wersja zwiększająca stabilność, ale zawiera też wiele nowych funkcji.
2.3.3 (czerwiec 2017 r.)
to niewielka aktualizacja wprowadzająca obsługę Androida O (poziom interfejsu API 26).
2.3.2 (kwiecień 2017 r.)
Jest to niewielka aktualizacja Androida Studio 2.3 obejmująca następujące zmiany:
- Aktualizacje Menedżera AVD, które umożliwiają korzystanie z Google Play w obrazach systemowych.
- Poprawki błędów dotyczących kompilacji NDK używanych w przypadku używania pakietu NDK w wersji R14 lub nowszej.
Zobacz też odpowiednie aktualizacje Emulatora Androida 26.0.3.
2.3.1 (kwiecień 2017 r.)
Jest to niewielka aktualizacja Androida Studio 2.3, która rozwiązuje problem polegający na tym, fizyczne urządzenia z Androidem nie działały prawidłowo z Błyskawicznym uruchamianiem (patrz Problem #235879).
<h3 class="hide-from-toc">
New
</h3>
<div class="video-wrapper-left">
<iframe class="devsite-embedded-youtube-video" data-video-id="VFyKclKBGf0"
data-autohide="1" data-showinfo="0" frameborder="0" allowfullscreen>
</iframe>
</div>
<ul>
<li>Android Studio can now convert PNG, BMP, JPG, and static GIF files to
WebP format. WebP is an image file format from Google that provides lossy
compression (like JPEG) as well as transparency (like PNG) but can provide
better compression than either JPEG or PNG. For more information, see
<a href="/studio/write/convert-webp.html">Convert images to WebP in Android
Studio</a>.
</li>
<li>The new <a href="/studio/write/app-link-indexing.html">App Links
Assistant</a> simplifies the process of adding Android App Links to your app
into a step-by-step wizard. Android App Links are HTTP URLs that bring users
directly to specific content in your Android app.
</li>
<li>The Layout Editor now includes support for two new ConstraintLayout
features:
<ul>
<li>Define a view size based on an aspect ratio.
</li>
<li>Create packed, spread, and weighted linear groups with constraint
chains.
</li>
</ul>
For more information, see <a href=
"/training/constraint-layout/index.html">Build a Responsive UI with
ConstraintLayout</a>.
</li>
<li>The Layout Editor also now lets you create a list of <a href=
"/studio/write/layout-editor.html#edit-properties">favorite attributes</a> so
you don't have to click <b>View all attributes</b> to access the attributes
you use most.
</li>
<li>When adding a material icon using the Vector Import Dialog (<b>File >
New > Vector Asset</b>), you can now filter the list of available icons by
category or by icon name. For more information, see <a href=
"/studio/write/vector-asset-studio.html#materialicon">Adding a material
icon</a>.
</li>
<li>
<a href="/studio/write/annotations.html#accessibility">New and updated
annotations</a>. The new <code>@RestrictTo</code> annotation for methods,
classes, and packages lets you restrict an API. The updated
<code>@VisibleForTesting</code> annotation now has an optional
<code>otherwise</code> argument that lets you designate what the visibility
of a method should be if not for the need to make it visible for testing.
Lint uses the <code>otherwise</code> option to enforce the intended
visibility of the method.
</li>
<li>New <a href="/studio/write/lint.html#snapshot">lint baseline support</a>
allows you to use a snapshot of your project's current set of warnings as a
baseline for future inspection runs so only new issues are reported. The
baseline snapshot lets you start using lint to fail the build for new issues
without having to go back and address all existing issues first.
</li>
<li>New lint checks, including the following:
<ul>
<li>Obsolete <code>SDK_INT</code> Checks: Android Studio removes obsolete
code that checks for SDK versions.
</li>
<li>Object Animator Validation: Lint analyzes your code to make sure that
your <code>ObjectAnimator</code> calls reference valid methods with the
right signatures and checks that those methods are annotated with <code>
@Keep</code> to prevent ProGuard from renaming or removing them during
release builds.
</li>
<li>Unnecessary Item Decorator Copy: Older versions of the
<code>RecyclerView</code> library did not include a divider decorator
class, but one was provided as a sample in the support demos. Recent
versions of the library have a divider decorator class. Lint looks for
the old sample and suggests replacing it with the new one.
</li>
<li>WifiManager Leak: Prior to Android 7.0 (API level 24), initializing
the <code>WifiManager</code> with <code><a href="/reference/android/content/Context.html#getSystemService(java.lang.Class<T>)">Context.getSystemService()</a></code>
can cause a memory leak if the context is not the application context.
Lint looks for these initializations, and if it <em>cannot</em> determine
that the context is the application context, it suggests you use <code><a href="/reference/android/content/Context.html#getApplicationContext()">Context.getApplicationContext()</a></code> to get the proper context for the
initialization.
</li>
<li>Improved Resource Prefix: The existing <code>resourcePrefix</code>
lint check had many limitations. You can now configure your project with
a prefix, such as <code>android { resourcePrefix '<var>my_lib</var>'
}</code>, and lint makes sure that all of your resources are using this
prefix. You can use variations of the name for styles and themes. For
example for the <var>my_lib</var> prefix, you can have themes named
<code>MyLibTheme</code>, <code>myLibAttr</code>,
<code>my_lib_layout</code>, and so on.
</li>
<li>Switch to WebP: This check identifies images in your project that can
be converted to WebP format based on your project’s
<code>minSdkVersion</code> setting. An associated quickfix can
automatically convert the images, or you can <a href=
"/studio/write/convert-webp.html">convert images to WebP</a> manually.
</li>
<li>Unsafe WebP: If your project already includes WebP images, this check
analyzes your project to ensure that your <code>minSdkVersion</code>
setting is high enough to support the included images. For more
information about WebP support in Android and Android Studio, see
<a class="external" href=
"https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp">
Which browsers natively support WebP?</a> and <a href=
"/studio/write/convert-webp.html">Create WebP Images Using Android
Studio</a>.
</li>
</ul>
</li>
</ul>
<h3 class="hide-from-toc">
Changes
</h3>
<ul>
<li>A separate button to push changes with Instant Run: After deploying your
app, you now click <b>Apply Changes</b> <img src=
"/studio/images/buttons/toolbar-apply-changes.svg" alt="" class=
"inline-icon"> to quickly push incremental changes to your running app using
Instant Run. The <b>Run</b> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon"> and <b>Debug</b> <img src=
"/studio/images/buttons/toolbar-debug.png" alt="" class="inline-icon">
buttons are always available to you when you want to reliably push your
changes and force an app restart.
<ul>
<li>Instant Run is supported only when deploying your app to a target
device running Android 5.0 (API level 21) or higher.
</li>
<li>Instant Run is no longer disabled for projects that <a href=
"/studio/projects/add-native-code.html">link to external native
projects</a> using CMake or ndk-build. However, you can only use Instant
Run to push incremental changes to your Java code, not your native code.
</li>
<li>Cold swaps (which you can force for a running app by clicking
<strong>Run</strong> <img src="/studio/images/buttons/toolbar-run.png"
alt="" class="inline-icon">) are now more reliable. Forcing a cold swap
also fixes the issue where changes to notification and widget UIs were
not updated on the target device.
</li>
<li>Includes optimizations that make app startup much faster. These
optimizations may affect profiling, so you should temporarily <a href=
"/studio/run/index.html#disable-ir">disable Instant Run</a> whenever
profiling your app.
</li>
</ul>
</li>
<li>
<p>
The <b>AVD Manager</b> <img src=
"/studio/images/buttons/toolbar-avd-manager.png" alt="" class=
"inline-icon"> and <b>SDK Manager</b> <img src=
"/studio/images/buttons/toolbar-sdk-manager.png" alt="" class=
"inline-icon"> buttons are now included in the lean Navigation Bar as
well as the full Toolbar. To use the lean Navigation Bar, click
<b>View</b> to open the View menu, then ensure that <b>Navigation Bar</b>
is selected and <b>Toolbar</b> is <em>not</em> selected.
</p>
<img src="/studio/images/releases/navigationbar_sdkavd_2x.png" width="757">
</li>
<li>The "Hybrid" debugger has been renamed to "Dual" debugger.
</li>
<li>In the <a href="/studio/run/rundebugconfig.html">Run/Debug
Configurations</a> dialog, under Defaults in the left pane, the following run
configuration names have changed with no behavior changes:
<ul>
<li>The JUnit name has changed to Android JUnit. If you have a project
that uses JUnit run configurations, those configurations are transformed
to Android JUnit run configurations the first time you open the project
with Android Studio. A dialog appears to inform you of the name change.
</li>
<li>The Android Tests name has changed to Android Instrumented Tests.
</li>
</ul>
</li>
<li>The <a href="/studio/debug/am-gpu-debugger.html">GPU Debugger</a> has
been removed from Android Studio as of version 2.3. An open-source,
standalone version of the tool is now available on <a href=
"https://github.com/google/gapid" class="external-link">GitHub</a>.
</li>
<li>The Run/Debug option is no longer available when you right-click a <code>
*.gradle build</code> script.
</li>
<li>All templates now use <code>ConstraintLayout</code> as the default
layout.
</li>
<li>The Widgets palette in the Layout Editor has been redesigned.
</li>
</ul>
<p>
This release also includes a number of bug fixes. <a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.3+status%3DReleased&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.3.0.</a>
</p>
<p class="note">
<b>Known issue:</b> Some device manufacturers block apps from automatically
launching after being installed on the device. When deploying your app to a
physical device using Android Studio 2.3, this restriction breaks the
intended behavior of Instant Run and causes the following error output:
<code>Error: Not found; no service started</code>. To avoid this issue,
either <a href="/studio/run/emulator.html">use the emulator</a> or enable
automatic launching for your app in your device's settings. The procedure
for doing this is different for each device, so check the instructions
provided by the manufacturer. To learn more about this issue, see
<a href="https://code.google.com/p/android/issues/detail?id=235879">Issue
#235879</a>.
</p>
2.2 (wrzesień 2016 r.)
2.2.3 (grudzień 2016 r.)
<p>
This is a minor update to Android Studio 2.2. It includes a bug fixes
focused around gradle, the core IDE, and lint.
</p>
<p>
Highlighted build changes:
</p>
<ul>
<li>ProGuard version rollback. Due to a <a href=
"https://sourceforge.net/p/proguard/bugs/625/">correctness issue</a>
discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We
have worked with the ProGuard team on getting a fix quickly, and we expect
to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
</li>
<li>Bug fix for <code>aaptOptions</code> <code>IgnoreAssetsPattern</code>
not working properly (<a href="http://b.android.com/224167">issue
224167</a>)
</li>
<li>Bug fix for Gradle autodownload for Constraint Layout library
(<a href="https://code.google.com/p/android/issues/detail?id=212128">issue
212128</a>)
</li>
<li>Bug fix for a JDK8/Kotlin compiler + dx issue (<a href=
"http://b.android.com/227729">issue 227729</a>)
</li>
</ul>
<p>
<a href=
"https://code.google.com/p/android/issues/list?can=1&q=target%3D2.2.3+status%3AReleased+&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles">
See all bug fixes in 2.2.3</a>.
</p>
2.2.2 (październik 2016 r.)
<p>
This is a minor update to Android Studio 2.2. It includes a number of small
changes and bug fixes, including:
</p>
<ul>
<li>When reporting Instant Run issues through the IDE, the report now also
includes logcat output for <code>InstantRun</code> events. To help us
improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</li>
<li>A number of small bug fixes for Gradle.
</li>
<li>A fix for problems with generating multiple APKs.
</li>
</ul>
2.2.1 (październik 2016 r.)
<p>
This is a minor update to Android Studio 2.2. It includes several bug fixes
and a new feature to enable extra logging to help us troubleshoot Instant
Run issues—to help us improve Instant Run, please <a href=
"/studio/run/index.html#submit-feedback">enable extra logging and report
any issues</a>.
</p>
Nowość
- Zupełnie nowy układ Edytor z niestandardowymi narzędziami obsługującymi ConstraintLayout.
<li>New <strong><a href=
"http://tools.android.com/tech-docs/layout-inspector">Layout
Inspector</a></strong> lets you examine snapshots of your layout hierarchy
while your app is running on the emulator or a device.
</li>
<li>New <strong><a href="/studio/write/firebase.html">Assistant</a></strong>
window to help you integrate Firebase services into your app.
</li>
<li>New <strong><a href="/studio/debug/apk-analyzer.html">APK
Analyzer</a></strong> tool so you can inspect the contents of your packaged
app.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/test-recorder">Espresso Test
Recorder</a></strong> tool (currently in beta) to help you create UI tests by
recording your own interactions.
</li>
<li>New <strong><a href=
"http://tools.android.com/tech-docs/build-cache">build cache</a></strong>
(currently experimental) to speed up build performance.
</li>
<li>New <strong>C/C++ build integration with CMake and ndk-build</strong>.
Compile and build new or existing native code into libraries packaged into
your APK, and debug using lldb. For new projects, Android Studio uses CMake
by default, but also supports ndk-build for existing projects. To learn how
to include native code in your Android application, read <a href=
"/studio/projects/add-native-code.html">Add C and C++ Code to Your
Project</a>. To learn how to debug native code with lldb, see <a href=
"/studio/debug/index.html#debug-native">Debug Native Code</a>.
</li>
<li>New <strong><a href="/studio/intro/index.html#sample-code">Samples
Browser</a></strong> so you can easily look up Google Android sample code
from within Android Studio to jump start app development.
</li>
<li>New <strong>Merged Manifest Viewer</strong> to help you diagnose how your
manifest file merges with your app dependencies across project build
variants.
</li>
<li>The <strong>Run</strong> window now contains log messages for the current
running app. Note that you can configure the <a href=
"/studio/debug/am-logcat.html">logcat Monitor</a> display, but not the
<strong>Run</strong> window.
</li>
<li>New <strong><a href="/studio/run/emulator.html">Android
Emulator</a></strong> features:
<ul>
<li>Added new <strong>Virtual</strong> <strong>Sensors</strong> and
<strong>Cellular</strong> > <strong>Signal Strength</strong> controls.
</li>
<li>Added an <strong>LTE</strong> option to the <strong>Cellular</strong>
> <strong>Network type</strong> control.
</li>
<li>Added simulated vertical swipes for scrolling through vertical menus
with a mouse wheel.
</li>
</ul>
</li>
<li>New <strong><a href="/studio/run/rundebugconfig.html">Run/Debug
Configuration</a></strong> features:
<ul>
<li>The <strong>Debugger</strong> tab of the Android App and Android
Tests templates now contain several new options for debugging with LLDB.
</li>
<li>The <strong>Profiling</strong> tab of the Android App and Android
Tests templates now contain a <strong>Capture GPU Commands</strong>
option for enabling GPU tracing. You can display GPU traces in the GPU
Debugger (a beta feature).
</li>
<li>The Android Tests template now has a <strong>Firebase Test Lab Device
Matrix</strong> option for the <strong>Deployment Target</strong>.
</li>
<li>The Native Application template has been deprecated. If you use this
template in a project, Android Studio automatically converts it to the
Android App template.
</li>
<li>The Android Application template has been renamed to Android App.
</li>
</ul>
</li>
<li>Improved installation, configuration, performance, and UI features in the
<strong><a href="/studio/debug/am-gpu-debugger.html">GPU
Debugger</a></strong> (currently in beta).
</li>
<li>Android Studio now comes bundled with <strong>OpenJDK 8</strong>.
Existing projects still use the JDK specified in <strong>File > Project
Structure > SDK Location</strong>. You can switch to use the new bundled
JDK by clicking <strong>File > Project Structure > SDK
Location</strong> and checking the <strong>Use embedded JDK</strong>
checkbox.
</li>
<li>Added new <strong>help menus and buttons</strong> in the UI so you can
more easily find the online documentation.
</li>
Zmiany
- Zaktualizowano kod źródłowy IDE z IntelliJ 15 na IntelliJ 2016.1
- Błyskawiczne uruchamianie wymaga teraz pakietu SDK platformy odpowiadającego środowisku docelowemu poziom interfejsu API urządzenia, który ma zostać zainstalowany.
- Funkcja Szybkie uruchamianie zostanie automatycznie wyłączona, jeśli użytkownik uruchamia aplikację w ramach profilu służbowego lub jako użytkownik dodatkowy.
- Rozwiązaliśmy wiele problemów z niezawodnością Błyskawicznego uruchomienia, które polegały na wprowadzeniu zmian
nie były wdrażane albo aplikacja uległa awarii:
- Niektóre komponenty aplikacji nie zostały wdrożone w uruchomionej aplikacji. ( Błąd: #213454)
- Aplikacja ulega awarii, gdy użytkownik przechodzi z trybu błyskawicznego na niebieżący Uruchamiaj sesje, w których klasa Serializable nie ma identyfikatora serialVersionUID zdefiniowano jego definicję. (Błąd: #209006)
- Zmiany stylu nie są uwzględniane w ramach Instant Run. (Błąd: #210851)
- Sesja szybkiego uruchamiania jest zawodna i powoduje FileNotFoundException. (Błąd: #213083)
- Zmiany w plikach drawable nie są odzwierciedlane, dopóki nie zostanie przeprowadzone pełne przebudowanie w przypadku KitKat. (Błąd: #21530)
- Zmiany zasobów nie są odzwierciedlane przez funkcję błyskawicznego uruchamiania, gdy są niestandardowe sourceSets zawierają zagnieżdżone ścieżki. (Błąd: #219145)
- Wymiana „na gorąco” i „na ciepło” nie działa, jeśli zmieniona klasa zawiera adnotację z wartością wyliczenia. (Błąd: #209047)
- Zmiany w danych adnotacji nie są uwzględniane w ramach funkcji Instant Run. (Błąd: #210089)
- Szybkie uruchamianie nie rejestruje zmian w kodzie, jeśli wprowadzisz je na zewnątrz w IDE. (Błąd: #213205)
- Sesja błyskawicznego uruchamiania jest zawodna z powodu niezgodności tokena zabezpieczeń. (Błąd: #211989
- W przypadku urządzeń, które nie obsługują prawidłowo uruchomienia, nie można przeprowadzić „na zimno”. (Błąd: #210875)
- Awaria aplikacji po ponownym uruchomieniu natychmiastowego. (Błąd: #219744)
- Zaobserwowano wyjątek ClassNotFoundException przy przełączaniu z trybu błyskawicznego na Błyskawiczne debugowanie. (Błąd: #215805)
<li>Improved performance for <strong>Gradle sync</strong> within the IDE,
especially for large projects.
</li>
<li>Improved build times for both full and incremental builds with new app
packaging code.
</li>
<li>Improved <strong>Jack compiler performance and features</strong>,
including support for annotation processors and dexing in process. To learn
more, read the <a href=
"/studio/releases/gradle-plugin.html#revisions">Android plugin for Gradle
2.2.0 release notes</a>.
</li>
<li>Removed the <strong>Scale</strong> AVD property from the AVD Manager.
</li>
<li>The Android Emulator <strong>-port</strong> and <strong>-ports</strong>
command-line options now report which ports and serial number the emulator
instance is using, and warn if there are any issues with the values you
provided.
</li>
<li>Improved the <strong><a href=
"/studio/write/create-java-class.html">Create New Class dialog</a></strong>
and the corresponding file templates. <strong>Note:</strong> If you've
previously customized the <strong>AnnotationType</strong>,
<strong>Class</strong>, <strong>Enum</strong>, <strong>Interface</strong>, or
<strong>Singleton</strong> file templates, you need to modify your templates
to comply with the new templates or you won’t be able to use the new fields
in the <strong>Create New Class</strong> dialog.
</li>
<li>Improved the <strong><a href=
"/studio/write/vector-asset-studio.html">Vector Asset Studio</a></strong>
user interface and added support for Adobe Photoshop Document (PSD) files.
</li>
<li>Improved the <strong><a href=
"/studio/write/image-asset-studio.html">Image Asset Studio</a></strong> user
interface.
</li>
<li>Improved the <strong>Theme Editor</strong>'s Resource Picker.
</li>
<li>Fixed memory leaks and reduced overall memory usage in Android Studio.
</li>
<li>Added a <strong>Background</strong> button in the <strong><a href=
"/studio/intro/update.html#sdk-manager">SDK Manager</a></strong> so you can
get back to work and install your packages in the background.
</li>
<li>Improved <strong><a href="/studio/intro/accessibility.html">Accessibility
features</a></strong>, including support for screen readers and keyboard
navigation.
</li>
<li>Enhanced <strong>Code Analysis</strong> includes code quality checks for
Java 8 language usage and more cross-file analysis.
</li>
<li>Several toolbar icons have changed.
</li>
2.1 (kwiecień 2016 r.)
Główne zmiany w tej aktualizacji umożliwiają programowanie w oparciu o Android N – wersja testowa.
2.1.3 (sierpień 2016 r.)
Ta aktualizacja zwiększa zgodność z Gradle 2.14.1, w tym z wydajnością ulepszeniach, nowe funkcje i ważna poprawka zabezpieczeń. Więcej informacji znajdziesz w dokumencie Gradle informacje o wersji.
Domyślnie nowe projekty w Android Studio 2.1.3 korzystają z narzędzia Gradle w wersji 2.14.1. Dla: istniejących projektów, IDE wyświetli prośbę o uaktualnienie do wersji Gradle 2.14.1 Wtyczka Android dla Gradle w wersji 2.1.3, która jest wymagana w przypadku korzystania z Gradle w wersji 2.14.1 i wyżej.
2.1.2 (czerwiec 2016 r.)
Aktualizacja zawiera kilka drobnych zmian i poprawki błędów:
- Aktualizacje i poprawki błędów błyskawicznego uruchamiania.
- Ulepszenia wydajności LLDB i powiadomień o awariach.
- Poprawiono regresję w aktualizacji zabezpieczeń Android Studio 2.1.1, która
spowodował błąd funkcji
git rebase
.
2.1.1 (maj 2016 r.)
Aktualizacja wersji zabezpieczeń.
Platforma Android N obsługuje funkcje języka Java 8, które wymagają nowego eksperymentalnego kompilatora o nazwie Jack. Najnowsza wersja Jacka to obecnie obsługiwane tylko w Android Studio 2.1. Jeśli chcesz używać środowiska Java 8, Aby utworzyć aplikację, musisz użyć Android Studio 2.1.
Uwaga: funkcja Szybkie uruchamianie jest wyłączona, gdy włączysz kompilator Jack, ponieważ te funkcje nie są obecnie kompatybilne.
Chociaż Android Studio 2.1 jest już stabilne, kompilator Jack jest nadal w fazie eksperymentalnej i musisz go włączyć za pomocą właściwości jackOptions
w pliku build.gradle
.
Poza zmianami dotyczącymi obsługi wersji N Preview, Android Studio 2.1 Zawiera drobne poprawki błędów i następujące ulepszenia:
- Zgodny z Javą debuger języka C++ jest teraz domyślnie włączony, gdy użyj urządzenia N lub emulatora i wybierz tryb debugowania Natywny. (na karcie Debuger, aby skonfigurować uruchamianie/debugowanie).
Aby skorzystać z innych ulepszeń kompilacji, w tym z kompilacji przyrostowej Javy i de-eXingu w ramach procesu, zaktualizuj wtyckę Androida do obsługi Gradle do wersji 2.1.0.
2.0 (kwiecień 2016 r.)
Uwaga: jeśli tworzysz aplikację na Androida N w wersji dla deweloperów, powinieneś użyć wersji Android Studio 2.1 w wersji podglądowej. Android Studio 2.0 nie obsługuje wszystkie funkcje wymagane do kierowania reklam na wersję testową N.
Błyskawiczne uruchamianie:
- Android Studio wdraża teraz czyste wersje szybciej niż kiedykolwiek wcześniej. Dodatkowo przesyłanie przyrostowych zmian kodu do emulatora lub na fizyczne urządzenie odbywa się teraz niemal natychmiast. Sprawdź aktualizacje bez ponownego wdrażania kompilację do debugowania lub, w wielu przypadkach, bez ponownego uruchamiania aplikacji.
- Błyskawiczne uruchamianie obsługuje wprowadzanie następujących zmian do uruchomionej aplikacji:
- zmiany w implementacji istniejącej metody instancji lub metoda statyczna
- Zmiany w istniejącym zasobie aplikacji
- zmiany w kodzie strukturalnym, np. podpis metody lub element statyczny; (wymaga urządzenia docelowego z interfejsem API na poziomie 21 lub wyższym).
- Aby dowiedzieć się więcej o Instant Run, przeczytaj dokumentację.
Uwaga: błyskawiczne uruchamianie jest obsługiwane tylko w przypadku wdrożenia do debugowania wariantu kompilacji, użyj wtyczki Androida do Gradle w wersji 2.0.0 lub nowszej i skonfiguruj na poziomie modułu aplikacji
build.gradle
w wersjiminSdkVersion 15
lub nowszej. Aby uzyskać najlepszą wydajność, skonfiguruj aplikację w wersjiminSdkVersion 21
lub wyższej.
Nowe funkcje w Lint:
- Sprawdzanie instrukcji
switch
za pomocą liczb całkowitych z atrybutem@IntDef
, aby upewnić się, że wszystkie stałe są obsługiwane. Aby szybko dodać brakujące instrukcje, użyj menu akcji intencji i wybierz Dodaj brakujące definicje @IntDef Constants. - Flagi nieprawidłowych prób wstawienia tekstu z użyciem interpolacji ciągów znaków
w pliku
build.gradle
. - Flagi zajęć anonimowych, które rozszerzają klasę
Fragment
. - Flagi kodu natywnego w niebezpiecznych lokalizacjach, takich jak
res/
iasset/
folderu. Ta flaga zachęca do przechowywania kodu natywnego wlibs/
który zostanie bezpiecznie spakowany do folderu aplikacjidata/app-lib/
podczas instalacji. AOSP: #169950 - Flagi niebezpiecznych wywołań funkcji
Runtime.load()
iSystem.load()
. AOSP: #179980 - Znajdź i usuń wszystkie nieużywane zasoby, wybierając Refaktoryzacja > Usuń
nieużywane zasoby na pasku menu, Wykrywanie nieużywanych zasobów obsługuje teraz zasoby, do których odwołują się tylko nieużywane zasoby, odwołania w plikach źródłowych, takie jak odwołania do obrazów
.html
, oraz atrybutytools:keep
itools:discard
używane przez narzędzie do kompresji zasobów Gradle, uwzględniając nieaktywne zestawy źródeł (takie jak zasoby używane w innych wersjach kompilacji) i odpowiednio obsługując importowanie pól statycznych. - Sprawdza, czy domyślne odwołania do interfejsu API są obsługiwane na wszystkich platformach docelowych usługi
minSdkVersion
. - Flagi niewłaściwego użycia:
RecyclerView
iParcelable
. - Kontrolowane są też kontrole
@IntDef
,@IntRange
i@Size
tabliceint
i zmiennych.
Dodatkowe ulepszenia:
- Zoptymalizowany pod kątem emulatora Androida 2.0, który jest szybszy niż kiedykolwiek wcześniej, obsługuje szerszą gamę urządzeń wirtualnych i charakteryzuje się i udoskonalonego interfejsu użytkownika. Więcej informacji o nowym emulatorze znajdziesz w informacjach o wersji narzędzi SDK.
- Ulepszenia urządzenia wirtualnego z Androidem
Menedżer:
- Obrazy systemowe są teraz podzielone na kategorie na tych kartach: Zalecane, x86 i Inne.
- W ustawieniach zaawansowanych możesz włączyć obsługę wielordzeniową i określać liczbę rdzeni, których może używać emulator.
- W ustawieniach zaawansowanych możesz określić sposób renderowania grafiki.
w emulatorze, wybierając jedną z tych opcji:
- Sprzęt: używanie karty graficznej komputera do szybsze renderowanie.
- Oprogramowanie: wykorzystuje renderowanie programowe.
- Automatycznie: pozwala emulatorowi wybrać najlepszą opcję. Ten to ustawienie domyślne.
- Krótszy czas pakowania AAPT przez określenie miejsca docelowego wdrożenia przed aplikacją Dzięki temu Android Studio może efektywnie spakować tylko zasobów wymaganych przez określone urządzenie.
- Dodaliśmy integrację z Cloud Test Lab, aby umożliwić testowanie aplikacji na żądanie z wygodą i skalowalnością usług w chmurze. Dowiedz się więcej o tym, jak korzystać z Cloud Test Lab w Android Studio.
- Dodaliśmy podgląd nowego narzędzia GPU Debugger. Do grafiki intensywnych aplikacji, można teraz wizualnie przeglądać kod OpenGL ES do optymalizacji aplikacji lub gry.
- Dodano test indeksowania aplikacji Google. Dodanie obsługi adresów URL, aplikacji indeksowanie i wyszukiwanie w aplikacjach, aby pomóc w zwiększaniu zwiększyć ruch w aplikacji, sprawdzić, które treści w niej są używane najczęściej, nowych użytkowników. Testuj i weryfikuj adresy URL w aplikacji w Android Studio. Zobacz Dodatkowe adresy URL i aplikację Indeksowanie w Android Studio
- Uaktualnienia do najnowszej wersji IntelliJ 15, w tym ulepszony kod analizy i skuteczność. Pełny opis nowych funkcji i ulepszeń znajdziesz w artykule Co nowego w IntelliJ.
- Funkcja autouzupełniania w edytorze XML dodaje teraz cudzysłów . Aby sprawdzić, czy ta opcja jest włączona, otwórz okno Ustawienia lub Ustawienia, przejdź do Edytor > Ogólne > Klucze inteligentne i zaznacz pole Dodaj cudzysłowe dla wartości atrybutu po wypełnieniu atrybutu. Problem: 195113
- Edytor XML obsługuje teraz uzupełnianie kodu na potrzeby wiązania danych wyrażeń.
Android Studio w wersji 1.5.1 (grudzień 2015 r.)
Poprawki i ulepszenia:
- Rozwiązaliśmy problem z renderowaniem w Edytorze układu. Numer: 194612
- Dodaliśmy możliwość zróżnicowania atrybutów pliku manifestu
description
w zależności od konfiguracji. Numer: 194705 - Poprawiono kontrast motywu wyglądu Android Studio Darcula w Vector Asset Studio. Problem: 191819
- Dodano obsługę przycisku Pomoc do Vector Asset Studio.
- Dodano obsługę operatora
%
w przypadku wiązania danych. Numer: 194045 - Rozwiązaliśmy problem, który powodował, że uruchomienie aplikacji do debugowania powodowało, że debuger łączył się z niewłaściwe urządzenie. Numer: 195167
- Usunięto wyjątek wskaźnika null, który mógł wystąpić przy próbie uruchomienia aplikacji w w określonych sytuacjach.
Android Studio 1.5.0 (listopad 2015 r.)
Poprawki i ulepszenia:
- Dodaliśmy nowe możliwości analizy Memory Monitor do Android Monitor. Podczas wyświetlania pliku HPROF Ten monitor jest teraz bardziej przydatny, gdyż umożliwia szybsze na przykład wyciek danych pamięci. Aby go używać, kliknij Android Monitor na stronie na dole głównego okna. W Android Monitor kliknij kartę Pamięć. Podczas działania monitora kliknij ikonę Dump Java Heap, a następnie w oknie głównym kliknij Captures (Zapisy) i kliknij dwukrotnie plik, aby go wyświetlić. Po prawej stronie kliknij Analiza przechwycenia. (Monitor urządzeń z Androidem nie może działać jednocześnie z Monitorem Androida).
- Dodano obsługę nowych precyzyjnych linków i linków do aplikacji. Edytor kodu może automatycznie utworzyć
filtr intencji na potrzeby precyzyjnych linków w pliku
AndroidManifest.xml
. Może też generować kod, który ułatwi Ci integrację z interfejsem App Indexing API w aktywności w pliku Java. Funkcja testowania precyzyjnych linków pomaga sprawdzić, czy określony precyzyjny link może uruchomić aplikację. Na karcie Ogólne w oknie Konfiguracje uruchamiania/debugowania możesz określić opcje uruchamiania precyzyjnych linków. Możesz też testować wywołania interfejsu App Indexing API w aktywności, korzystając z widoku logcat w Monitorze Androida. Narzędzielint
na Androida ma teraz ostrzeżenia dotyczące: określonych problemów związanych z precyzyjnymi linkami i interfejsem API indeksowania aplikacji. - Dodaliśmy możliwość używania krótkich nazw podczas uzupełniania widoków niestandardowych w edytorze kodu.
- Dodano obsługę większej liczby elementów
VectorDrawable
do Vector Asset Studio dla zgodności wstecznej. Vector Asset Studio może używać tych elementów do konwertowania obiektów rysowalnych wektorowych na obrazy rastrowe PNG, które można używać na urządzeniach z Androidem 4.4 (poziom interfejsu API 20) i starszych. - Dodaliśmy nowe testy
lint
dotyczące Androida TV i Androida Auto, natychmiastowy dostęp do przydatnych informacji w Android Studio, a także kilka szybkich poprawek. Na przykład w przypadku Androida TV może on zgłaszać i szybko rozwiązywać problemy z uprawnieniami, nieobsługiwanym sprzętem, elementemuses-feature
i brakiem banera. Android Auto może sprawdzić poprawność użycia w pliku deskryptora, do którego odwołuje się TwójAndroidManifest.xml
, zgłoś, jeśli nie ma filtra intencji dlaMediaBrowserService
i zidentyfikuj problemy związane z komendami głosowymi. - Dodano nowe funkcje kontrolne (
lint
) dla niezabezpieczonych odbiorników,SSLCertificateSocketFactory
iHostnameVerifier
zastosowania klas, oraz Połączenia:File.setReadable()
iFile.setWritable()
. Wykrywa też nieprawidłowe wyszukiwania zasobów manifestu, zwłaszcza w przypadku zasobów, które różnią się w zależności od konfiguracji. - Naprawiono kilka problemów ze stabilnością.
Android Studio 1.4.1 (październik 2015 r.)
Poprawki i ulepszenia:
- Rozwiązaliśmy problem z buforowaniem modelu Gradle, który mógł prowadzić do nadmiernej synchronizacji Gradle, gdy IDE Urządzenie zostało uruchomione ponownie.
- Naprawiono problem wzajemnych zakleszczeń podczas debugowania natywnego.
- Rozwiązaliśmy problem, który blokował użytkowników systemu kontroli wersji Subversion 1.9.
- Rozwiązaliśmy problem z oknem Wybór urządzenia, w którym po podłączeniu urządzenia, które nie było autoryzowane, nie można było już wybrać emulatora. Numer: 189658
- Naprawiono zgłaszanie błędów nieprawidłowego tłumaczenia w przypadku języków, które mają specyfikator regionu i tłumaczenie w regionie (ale nie w języku podstawowym). Numer: 188577
- Rozwiązano problem z zakleszczeniem w edytorze motywów związany z jego interakcją z układem. Redaktor. Numer: 188070
- Rozwiązaliśmy problem polegający na ponownym ponownym załadowaniu edytora motywów i w edytowaniu konfliktu atrybutów, które powodowały nieprawidłowe aktualizowanie atrybutów. Problem: 187726
- Zwiększona wydajność Edytora motywów.
- Rozwiązaliśmy problem polegający na tym, że atrybut
android:required
był ignorowany w pliku manifestu. Problem: 187665
Android Studio 1.4.0 (wrzesień 2015 r.)
Poprawki i ulepszenia:
- Dodano narzędzie Vector Asset Studio do importowania grafik wektorowych, takich jak ikony w materiale i pliki SVG. Aby użyć tego narzędzia, w widoku Android w oknie projektu kliknij prawym przyciskiem folder res i wybierz Nowy > Wektorowy zasób.
- Dodaliśmy nowe funkcje Android Monitor, GPU i sieć. Aby korzystać z tych monitorów, kliknij Monitor Androida u dołu okna głównego. Monitor urządzeń z Androidem nie może działać jednocześnie z Monitorem Androida.
- Dodaliśmy wstępną wersję podglądu nowego edytora motywów. Aby użyć tej funkcji, wybierz Narzędzia > Android > Edytor motywów.
- Zaktualizowano szablony Androida dla biblioteki Design Support Library. Obsługa szablonów
dla specyfikacji Material Design, a także z biblioteki pomocy
appcompat
dla zgodności wstecznej.
Android Studio w wersji 1.3.2 (sierpień 2015 r.)
Poprawki i ulepszenia:
- Dodano obsługę Androida 6.0 (poziom interfejsu API 23), w tym nowe ikony i menedżera AVD. Dodano obsługę tworzenia urządzeń z nowymi gęstościami ekranu.
- Usunięto wyjątek występujący podczas sprawdzania aktualizacji. Problem: 183068
- Rozwiązaliśmy problem, który powodował, że nierozwiązane współrzędne widoku mogły powodować awarię edytora układu. Problem: 178690
- Rozwiązaliśmy problem z ostrzeżeniami o nieprawidłowych typach zasobów. Problem: 182433
- Naprawiono sprawdzanie lint, które nieprawidłowo oznaczało zasoby jako prywatne. Problem: 183120
Android Studio v1.3.1 (sierpień 2015 r.)
Poprawki i ulepszenia:
- Naprawiono obsługę tworzenia urządzenia wirtualnego z Androidem Wear (AVD) w systemie Windows.
- Zaktualizowano kreator projektu, tak aby korzystał z podanej nazwy projektu.
- Dodaliśmy obsługę, która umożliwia przechowywanie pakietu Android SDK w katalogu tylko do odczytu.
- Zaktualizowano wtyczkę Androida do obsługi Gradle do wersji 1.3.0.
- Rozwiązaliśmy problemy z uruchamianiem sesji debugowania z poziomu Android Debug Bridge (adb) Unix. .
- Naprawiono komunikat o zmianie nazwy pakietu Java, tak aby wyświetlał prawidłową nazwę pakietu.
Android Studio w wersji 1.3.0 (lipiec 2015 r.)
Poprawki i ulepszenia:
- Dodano opcje włączania usługi dla deweloperów, takich jak Google AdMob, Analytics w aplikacji – Android Studio.
- Dodano dodatkowe adnotacje, takie jak
@RequiresPermission
,@CheckResults
i@MainThread
. - Dodano możliwość generowania zrzutów stosu pamięci Java i analizowania przydziałów wątków z monitora pamięci. Możesz też konwertowanie plików binarnych HPROF specyficznych dla Androida na standardowy format HPROF z wewnątrz Android Studio.
- Integracja z Menedżerem SDK
w Android Studio, aby uprościć dostęp do pakietów i narzędzi oraz przekazywać powiadomienia o aktualizacjach.
Uwaga: samodzielny pakiet SDK Manager jest nadal dostępny w z wiersza poleceń, ale zalecamy używanie go tylko z samodzielnym pakietem SDK instalacji.
- W konsoli emulatora dodaliśmy polecenie
finger
, które umożliwia symulację odcisk cyfrowy uwierzytelnianie. - Dodano deklarację zasobu
<public>
, aby wyznaczyć bibliotekę zasobów jako publiczne i prywatne i zasobami Google Cloud.Uwaga: wymagana jest wtyczka Androida do obsługi Gradle w wersji 1.3 lub nowszej.
- Dodano obsługę wiązania danych do tworzyć układy deklaratywne, które powiążą logikę aplikacji z elementami układu.
- Dodano obsługę osobnego modułu testowego APK do tworzenia testowych pakietów APK w Android Studio.
- Zaktualizowaliśmy menedżera AVD, wprowadzając optymalizacje HAXM i ulepszone powiadomienia.
- Dodano obsługę 64-bitowego procesora ARM i procesora MIPS dla QEMU 2.1.
- Uproszczone rozwiązywanie ostrzeżeń Lint poprzez dodanie szybkich poprawek, takich jak automatyczne generowanie implementacji Parcelable.
- Dodano szablon transmisji na żywo szybkie wstawianie fragmentów kodu.
Android Studio v1.2.2(czerwiec 2015 r.)
Poprawki i ulepszenia:
- Rozwiązaliśmy problemy z kompilacją, które uniemożliwiały jej ukończenie.
Android Studio v1.2.1 (maj 2015 r.)
Poprawki i ulepszenia:
- Naprawiono drobne problemy z wydajnością i funkcjami.
Android Studio 1.2.0 (kwiecień 2015 r.)
Poprawki i ulepszenia:
- Zaktualizowaliśmy okno środowiska wykonawczego Androida, aby obejmowało narzędzie Memory Monitor, i dodaliśmy kartę do monitorowania wydajności procesora.
- Na lewym marginesie dodano kartę Zapisy, na której można wyświetlić przechwytywane pliki z danymi o pamięci i wydajności procesora, takie jak śledzenie metody procesora i zrzuty stosu pamięci.
- Rozwinięta adnotacja obsługa dodatkowych adnotacji do metadanych i wywnioskowania możliwości null.
- W Edytorze tłumaczeń dodano dodatkową obsługę normy BCP 47, która używa 3-literowych kodów języków i regionów.
- Zintegrowane funkcje IntelliJ 14 i 14.1 dla lepszej analizy kodu oraz skuteczność:
-
- rozszerzone debugowanie, które pokazuje wartości wbudowane dla zmiennych i obiektów odsyłających, jak również przeprowadzić bezpośrednią ocenę lambda i z operatorami.
- Dodaliśmy wykrywanie stylu kodu dla rozmiarów tabulatorów i wcięć.
- Dodaliśmy pliki robocze do eksperymentowania z kodem i tworzenia prototypów bez plików projektu.
- Dodano jednoczesne wstawianie otwierających i zamykających tagów w Pliki HTML i XML.
- Dodaliśmy wbudowany dekompilator klas w Javie, który pozwala zapoznać się w bibliotece, dla której nie jest dostępny kod źródłowy.
Pełny opis nowych funkcji i ulepszeń znajdziesz w artykule Co nowego w IntelliJ.
- Dodano dodatkowe wyświetlenia projektu dla: Zarysowania, Pliki projektu, Problemy, Wersja produkcyjna i Testy usprawniające zarządzanie projektami dostęp.
- Ulepszaj plik > Ustawienia lepszego dostępu do ustawień i zarządzania nimi.
- Dodaliśmy obsługę wyświetlaczy o dużej gęstości pikseli w systemach Windows i Linux.
- Dodano obsługę zasobów 280 dpi
Folder
res/drawable-280dpi/
.
Android Studio 1.1.0 (luty 2015 r.)
Różne poprawki i ulepszenia:
- Dodano obsługę zegarka Android Wear szablon.
- Zmodyfikowano tworzenie nowego projektu i modułu, aby uwzględnić
res/mipmap
folderu dla związane z określoną gęstością. Teres/mipmap
foldery zastępująres/drawable
. foldery z ikonami w programie uruchamiającym. - Zaktualizowaliśmy ikony programu uruchamiającego, aby nadać im wygląd zgodny z Material Design, i dodaliśmy ikonę
xxxhdpi
. - Dodano i ulepszono mechanizmy kontroli Lint dotyczące kombinacji regionów i języków, ikon uruchamiania, nazw zasobów i innych typowych problemów z kodem.
- Dodano obsługę tagu języka 47 sprawdzonych metod (BCP).
Android Studio w wersji 1.0.1 (grudzień 2014 r.)
Różne poprawki i ulepszenia:
- Rozwiązaliśmy problem z blokowaniem pliku device.xml przez Menedżera AVD.
- Naprawiono dziennik emulatora w systemach Windows.
- Rozwiązaliśmy problem z tworzeniem AVD przy użyciu Android Studio i pakietu Android SDK zainstalowanego na różnych w systemach Windows.
- Domyślny kanał aktualizacji dla nowych plików do pobrania ustawiono na Stabilny. Jeśli Użytkownik zainstalował Androida Studio w wersji 1.0.0 i potrzebuje stabilnej, gotowej do wykorzystania wersji produkcyjnej aktualizacji, należy użyć opcji Plik > Ustawienia > aktualizacje, aby przejść na wersję stabilną; zaktualizuj kanał.
Android Studio v1.0 (grudzień 2014 r.)
Pierwsza wersja Android Studio.
Android Studio w wersji 0.8.14 (październik 2014 r.)
Zobacz tools.android.com , aby zobaczyć pełną listę zmian.
Android Studio w wersji 0.8.6 (sierpień 2014 r.)
Pełną listę zmian znajdziesz na stronie tools.android.com.
Android Studio v0.8.0 (czerwiec 2014 r.)
Dodano obsługę projektów Android Wear.
Pełną listę zmian znajdziesz na stronie tools.android.com.
Android Studio v0.5.2 (maj 2014 r.)
- Pełną listę zmian znajdziesz na tools.android.com.
Android Studio v0.4.6 (marzec 2014 r.)
- Pełną listę zmian znajdziesz na stronie tools.android.com.
Android Studio w wersji 0.4.2 (styczeń 2014 r.)
- Pełną listę zmian znajdziesz na tools.android.com.
Android Studio w wersji 0.3.2 (październik 2013 r.)
- Pełną listę zmian znajdziesz na stronie tools.android.com.
Android Studio v0.2.x (lipiec 2013 r.)
- Scalono w ramach najnowszych zmian w bazie kodu IntelliJ. Zawiera poprawki problemów zgłoszonych przez użytkowników Studio, takich jak zmiany rozmiarów czcionek i renderowania czcionek w Linuxie.
- Wtyczka Androida do obsługi Gradle została zaktualizowana do wersji 0.5.0.
Uwaga: nowa wersja nie jest zgodna wstecznie. Po otwarciu projektu, który korzysta ze starszej wersji wtyczki, Studio wyświetli błąd. z stwierdzeniem Gradle <nazwa_projektu> nie udało się odświeżyć projektu.
Zaktualizowana wtyczka do Gradle zawiera te zmiany:
- Naprawiono model IDE, aby zawierał plik wyjściowy, nawet jeśli jest dostosowywany za pomocą DSL. Poza tym
naprawiono DSL, by pobierać/ustawić plik wyjściowy w obiekcie wariantu, tak aby nie trzeba było
użyj funkcji
variant.packageApplication or variant.zipAlign
- Poprawiliśmy rozpoznawanie zależności, przez co uzyskaliśmy połączenie (konfiguracja domyślna, typy kompilacji, smaki) można łączyć łącznie, a nie oddzielnie.
- Naprawiono zależność testów projektu biblioteki, aby prawidłowo uwzględnić wszystkie zależności samej biblioteki.
- Rozwiązano problem, gdy 2 zależności miały tę samą nazwę elementu docelowego.
- Rozwiązaliśmy problem polegający na tym, że pliku reguł ProGuard nie można było zastosować do odmian.
Wszystkie informacje o wersjach wtyczki Gradle znajdziesz tutaj: http://tools.android.com/tech-docs/new-build-system.
- Naprawiono model IDE, aby zawierał plik wyjściowy, nawet jeśli jest dostosowywany za pomocą DSL. Poza tym
naprawiono DSL, by pobierać/ustawić plik wyjściowy w obiekcie wariantu, tak aby nie trzeba było
użyj funkcji
- Błędy Gradle z pakietu aapt nie wskazują już na scalone pliki wyjściowe w folderze kompilacji/ folderu. wskazują rzeczywiste lokalizacje źródłowe.
- równoległe kompilacje, Teraz można korzystać z równoległych kompilacji Gradle. Pamiętaj, że kompilacje równoległe są uwzględniane w „inkubacji” (patrz sekcja Gradle's) dokumentację). Ta funkcja jest domyślnie wyłączona. Aby je włączyć, otwórz Ustawienia > Kompilator i zaznacz pole Kompiluj niezależnie od siebie.
- dalsze prace nad nowym repozytorium zasobów służącym do renderowania układu, zwijania zasobów w edytorze i innymi funkcjami:
- Podstawowa obsługa zależności między bibliotekami .aar (np. korzystanie z biblioteki bez lokalnej kopii biblioteki źródła). Sprawdzanie i przechodzenie do zasobów XML nadal nie działa w edytorach źródeł.
- Wykrywanie cykli w odwołaniach do zasobów.
- Szybka dokumentacja (F1), która może wyświetlać wszystkie tłumaczenia ciągu znaków pod kursorem, będzie teraz wyświetlać również wszystkie nakładki zasobów z różnych wersji i typów kompilacji Gradle, a także bibliotek. Są one wymienione w odwrotnej kolejności nakładania zasobów, a wersje ciągu, które są zamaskowane, są przekreślone.
- Poprawki obsługi aktualizowania scalonych zasobów, gdy zbiór zależności modułów .
- Poprawki dotyczące renderowania XML, które umożliwiają prawidłowe obsługiwanie deklaracji encji znaków oraz znaków ucieczki XML i Unicode.
- Zapisz obsługę zrzutów ekranu w oknach podglądu układu i edytora układu.
- Poprawki błędów w szablonach.
- Naprawiono błędy (lint).
- Różne poprawki dotyczące raportów o awariach. Dziękujemy i zapraszamy do dalszego przesyłania raportów o awariach.
Android Studio v0.1.x (maj 2013 r.)
- Poprawki różnych błędów, w tym rozwiązanie typowego problemu z instalacją w systemie Windows.
Starsze wersje wtyczki Androida do obsługi Gradle
3.6.0 (luty 2020 r.)
Ta wersja wtyczki na Androida wymaga:
-
Gradle 5.6.4. Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle.
-
SDK Build Tools w wersji 28.0.3 lub nowszej.
Ta niewielka aktualizacja zapewnia zgodność z nowymi ustawieniami domyślnymi oraz funkcje dla widoczność pakietów na Androidzie 11.
Szczegóły znajdziesz w informacjach o wersji 4.0.1.
Nowe funkcje
Ta wersja wtyczki Androida do obsługi Gradle zawiera te nowe funkcje zabezpieczeń.
Wyświetlanie powiązania
Wyświetlanie powiązania zapewnia bezpieczeństwo podczas kompilacji podczas odnoszenia się do widoków w
kod. Możesz teraz zastąpić findViewById()
automatycznie wygenerowanym odwołaniem do klasy wiążącej. Aby zacząć używać łączenia widoku,
dodaj do pliku build.gradle
każdego modułu:
android { viewBinding.enabled = true }
android { viewBinding.enabled = true }
Więcej informacji znajdziesz w sekcji Widok Dokumentacja wiązań.
Obsługa wtyczki Maven Publish
Wtyczka Androida do obsługi Gradle obsługuje Maven Publikowanie wtyczki Gradle, która umożliwia publikowanie artefaktów kompilacji w lub repozytorium Apache Maven. Wtyczka Androida do obsługi Gradle tworzy component dla każdego artefaktu wariantu kompilacji w aplikacji lub module biblioteki, który możesz służy do dostosowania publikacja do repozytorium Maven.
Więcej informacji znajdziesz na stronie przy użyciu narzędzia Maven Publish .
Nowe domyślne narzędzie do tworzenia pakietów
Podczas tworzenia wersji aplikacji do debugowania wtyczka używa nowego interfejsu
narzędzia do tworzenia pakietów o nazwie zipflinger. Ten nowy
powinno przyspieszyć kompilację. Jeśli nowe narzędzie do tworzenia pakietów
nie działa zgodnie z oczekiwaniami,
zgłoś błąd. Możesz wrócić do
używając starego narzędzia do pakowania, umieszczając w
Plik gradle.properties
:
android.useNewApkCreator=false
Atrybucja kompilacji natywnej
Możesz teraz określić czas potrzebny Clang na tworzenie połącz każdy plik C/C++ w projekcie. Gradle może wyświetlić log czasu Chrome który zawiera sygnatury czasowe zdarzeń tego kompilatora, dzięki czemu lepiej czas potrzebny na zbudowanie projektu. Aby wyświetlić dane wyjściowe tej kompilacji pliku atrybucji, wykonaj te czynności:
-
Dodaj flagę
-Pandroid.enableProfileJson=true
, gdy uruchamianiu kompilacji Gradle. Na przykład:gradlew assembleDebug -Pandroid.enableProfileJson=true
-
Otwórz przeglądarkę Chrome i wpisz
chrome://tracing
w na pasku wyszukiwania. -
Kliknij przycisk Wczytaj i znajdź plik
<var>project-root</var>/build/android-profile
. Plik nazywa sięprofile-<var>timestamp</var>.json.gz
Dane atrybucji kompilacji natywnych znajdziesz u góry widz:
Zmiany w zachowaniu
Podczas korzystania z tej wersji wtyczki możesz zauważyć te zmiany w zachowaniu.
Biblioteki natywne nieskompresowane przez domyślna
Gdy tworzysz aplikację, wtyczka ustawia teraz
Z: extractNativeLibs
do: "false"
, o:
wartość domyślną. Oznacza to, że biblioteki natywne są wyrównane do strony i pakowane.
bez kompresji. Mimo że powoduje to większy rozmiar przesyłanych plików,
mogą zyskać następujące korzyści:
- Mniejszy rozmiar instalowanej aplikacji, ponieważ platforma może uzyskać dostęp do bibliotek natywnych bezpośrednio z zainstalowanego pliku APK, bez tworzenia kopii bibliotek.
- Mniejszy rozmiar pliku do pobrania, ponieważ kompresja Sklepu Play jest zwykle lepiej gdy dodasz do pliku APK nieskompresowane biblioteki natywne lub Android App Bundle.
Jeśli chcesz, aby wtyczka Androida do obsługi Gradle była skompresowana biblioteki natywne, umieść w pliku manifestu aplikacji te elementy:
<application
android:extractNativeLibs="true"
... >
</application>
Uwaga: plik manifestu extractNativeLibs
.
został zastąpiony atrybutem DSL useLegacyPackaging
. Więcej informacji znajdziesz w informacjach o wersji
Użyj DSL, by spakować skompresowane pliki
z bibliotek natywnych.
Domyślna wersja NDK
Jeśli pobierzesz kilka wersji NDK, wtyczka Gradle dla Androida wybierze teraz domyślną wersję do użycia podczas kompilowania plików kodu źródłowego.
Wcześniej wtyczka wybierała najnowszą pobraną wersję NDK.
Użyj właściwości android.ndkVersion
w module
build.gradle
, aby zastąpić domyślne ustawienie wybrane przez wtyczkę.
Uproszczona generacja klasy R
Wtyczka Androida do obsługi Gradle upraszcza kompilację ścieżki klasy przez: generowanie tylko jednej klasy R dla każdego modułu biblioteki w projekcie oraz udostępniając te klasy R innym zależnościom modułów. Ta optymalizacja powinna przynieść szybsze kompilacje, ale wymaga uwzględnienia tych kwestii:
- Ponieważ kompilator udostępnia klasy R modułowi nadrzędnemu ważne jest, aby każdy moduł w projekcie unikalną nazwę pakietu.
- Widoczność klasy R biblioteki dla innych zależności projektu
zależy od konfiguracji użytej do uwzględnienia biblioteki jako
zależności. Jeśli na przykład biblioteka A zawiera bibliotekę B jako zależność „api”, biblioteka A i inne biblioteki zależne od biblioteki A mają dostęp do klasy R biblioteki B. Inne biblioteki mogą jednak nie mieć dostępu do klasy R biblioteki B. Jeśli biblioteka A używa konfiguracji zależności
implementation
. Aby dowiedzieć się więcej, przeczytaj artykuł o konfiguracjach zależności.
Usuń brakujące zasoby z domyślnego konfiguracja
W modułach Biblioteka, jeśli dołączysz zasób w języku, który znasz
nie są dodawane do domyślnego zestawu zasobów – na przykład jeśli dołączysz
hello_world
jako zasób ciągu znaków w:
/values-es/strings.xml
, ale nie definiujesz tego zasobu w
/values/strings.xml
– wtyczka Androida do obsługi Gradle nie jest już
uwzględnia go podczas kompilowania projektu. Ta zmiana działania
powinna spowodować mniej Resource Not Found
wyjątków czasu działania
i zwiększyła szybkość kompilacji.
D8 działa teraz zgodnie z zasadami przechowywania zajęć dla adnotacji
Podczas kompilowania aplikacji D8 uwzględnia teraz, kiedy adnotacje stosują zasadę CLASS dotyczącą przechowywania, a te adnotacje nie są już dostępne w czasie wykonywania. To zachowanie występuje również wtedy, gdy ustawisz docelowy pakiet SDK aplikacji na poziom API 23, który wcześniej umożliwiał dostęp do tych adnotacji w czasie działania podczas kompilowania aplikacji za pomocą starszych wersji wtyczki Gradle i D8.
Inne zmiany w działaniu
-
aaptOptions.noCompress
nie jest już zależne od wielkości liter na wszystkich platformach (zarówno w przypadku plików APK, jak i pakietów) i uwzględnia ścieżki z użyciem wielkich liter. -
Wiązanie danych domyślnie odbywa się przyrostowo. Więcej informacji: numer problemu 110061530.
-
Wszystkie testy jednostkowe, w tym testy jednostkowe Roboelectric, są już w pełni wyposażone które można zapisać w pamięci podręcznej. Więcej informacji: numer problemu: 115873047.
Poprawki błędów
Ta wersja wtyczki Androida do obsługi Gradle zawiera ten błąd poprawki:
- Testy jednostkowe Robolectric są teraz obsługiwane w modułach biblioteki, które używają parametru i powiązania danych. Więcej informacji znajdziesz w problemie 126775542.
- Gdy włączony jest tryb równoległego wykonywania Gradle, możesz teraz wykonywać zadania
connectedAndroidTest
w wielu modułach.
Znane problemy
W tej sekcji opisano znane problemy występujące w wersji 3.6.0 wtyczki Androida do obsługi Gradle.
Powolny proces sprawdzania kodu Lint na Androidzie
W przypadku niektórych projektów wykonanie Android Lint może potrwać znacznie dłużej z powodu regresji w infrastrukturze analizowania, co powoduje wolniejsze obliczanie typów inferowanych dla funkcji lambda w niektórych konstrukcjach kodu.
Problem został zgłoszony jako błąd w IDE i zostanie rozwiązany w wersji 4.0 wtyczki Androida do obsługi Gradle.
Brak klasy pliku manifestu {:#agp-missing-manifest}
Jeśli aplikacja definiuje niestandardowe uprawnienia w manifeście, wtyczka Gradle dla Androida zwykle generuje klasę Manifest.java
, która zawiera niestandardowe uprawnienia jako stałe ciągi znaków. Wtyczka pakuje tę klasę w aplikacji, aby ułatwić Ci odwoływanie się do tych uprawnień w czasie działania.
Generowanie klasy pliku manifestu nie działa we wtyczce Androida do obsługi Gradle w wersji 3.6.0.
Jeśli tworzysz aplikację przy użyciu tej wersji wtyczki i odwołuje się ona
w klasie manifestu, możesz zobaczyć pole ClassNotFoundException
wyjątek. Aby rozwiązać ten problem, wykonaj jedną z tych czynności:
-
odwoływać się do niestandardowych uprawnień, używając w pełni kwalifikowanej nazwy. Przykład:
"com.example.myapp.permission.DEADLY_ACTIVITY"
-
Zdefiniuj własne stałe, jak pokazano poniżej:
public final class CustomPermissions { public static final class permission { public static final String DEADLY_ACTIVITY="com.example.myapp.permission.DEADLY_ACTIVITY"; } }
3.5.0 (sierpień 2019 r.)
wtyczka Androida do obsługi Gradle w wersji 3.5.0 oraz Android Studio 3.5 to duża wersja i projektu Marble, który koncentruje się na ulepszeniu z narzędzi dla programistów aplikacji na Androida: stan systemu, dopracowanie funkcji naprawianie błędów. W ramach tej aktualizacji skupiliśmy się przede wszystkim na przyspieszeniu procesu kompilacji projektu.
Aby dowiedzieć się więcej o tych i innych aktualizacjach Project Marble, przeczytaj Androida post na blogu dla deweloperów lub w poniższych sekcjach.
Ta wersja wtyczki na Androida wymaga:
-
Gradle 5.4.1. Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle.
-
Narzędzia do tworzenia pakietów SDK 28.0.3 lub nowsza.
Ta niewielka aktualizacja zapewnia zgodność z nowymi ustawieniami domyślnymi i funkcjami dotyczącymi widoczności pakietów w Androidzie 11.
Szczegóły znajdziesz w informacjach o wersji 4.0.1.
3.5.3 (grudzień 2019 r.)
Ta niewielka aktualizacja obsługuje Androida Studio 3.5.3 i zawiera różne błędy zawierające poprawki i usprawniające działanie aplikacji.
3.5.2 (listopad 2019 r.)
Ta niewielka aktualizacja obsługuje Androida Studio 3.5.2 i obejmuje różne błędy zawierające poprawki i usprawniające działanie aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj odpowiedni post na blogu z aktualnościami dotyczącymi wersji.
3.5.1 (październik 2019 r.)
Ta niewielka aktualizacja obsługuje Android Studio 3.5.1 i zawiera różne poprawki błędów oraz ulepszenia działania aplikacji. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj odpowiedni post na blogu z aktualnościami dotyczącymi wersji.
Przyrostowe przetwarzanie adnotacji
Powiązanie danych
procesor adnotacji obsługuje
przyrostowe przetwarzanie adnotacji
jeśli ustawisz android.databinding.incremental=true
na
gradle.properties
. Ta optymalizacja powoduje poprawę
przyrostową wydajność kompilacji. Pełną listę zoptymalizowanych adnotacji
procesora, zapoznaj się z tabelą adnotacji przyrostowych
.
Dodatkowo KAPT 1.3.30 i nowsze wersje obsługują też procesory adnotacji przyrostowych, które możesz włączyć, dodając kapt.incremental.apt=true
do pliku gradle.properties
.
testy jednostkowe, które można przechowywać w pamięci podręcznej;
Gdy włączysz testy jednostkowe, aby korzystać z zasobów i zasobów Androida
pliki manifestu według ustawienia
includeAndroidResources
do true
, wtyczka Androida do obsługi Gradle generuje testowy plik konfiguracyjny
zawierających ścieżki bezwzględne, co uniemożliwia ponowne lokalizowanie pamięci podręcznej. Możesz przekazać instrukcje
do wygenerowania konfiguracji testowej za pomocą ścieżek względnych,
umożliwia pełne buforowanie zadania AndroidUnitTest
przez:
uwzględniając w pliku gradle.properties
te elementy:
android.testConfig.useRelativePath = true
Znane problemy
-
Jeśli używasz wtyczki Kotlin Gradle 1.3.31 lub starszej, podczas kompilowania lub synchronizowania projektu możesz zobaczyć to ostrzeżenie:
WARNING: API 'variant.getPackageLibrary()' is obsolete and has been replaced with 'variant.getPackageLibraryProvider()'.
Aby rozwiązać ten problem, zaktualizuj wtyczkę do wersji 1.3.40 lub nowszej.
3.4.0 (kwiecień 2019 r.)
Ta wersja wtyczki na Androida wymaga:
-
Gradle 5.1.1 lub nowsza wersja. Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle.
Uwaga: w przypadku Gradle w wersji 5.0 lub nowszej domyślny rozmiar sterty pamięci demona Gradle Zmniejszy się z 1 GB do 512 MB. Może to spowodować spadek wydajności kompilacji. Aby zastąpić to ustawienie domyślne, określ rozmiar stosu demona Gradle w pliku
gradle.properties
projektu. -
Narzędzia do tworzenia pakietów SDK 28.0.3 lub nowsza.
Ta niewielka aktualizacja zapewnia zgodność z nowymi ustawieniami domyślnymi oraz funkcje dla widoczność pakietów na Androidzie 11.
Szczegółowe informacje znajdziesz w informacjach o wersji 4.0.1.
3.4.2 (lipiec 2019 r.)
Ta drobna aktualizacja obsługuje Android Studio 3.4.2 i zawiera różne poprawki błędów oraz ulepszenia działania aplikacji. Aby zobaczyć listę ważnych poprawek błędów, przeczytaj powiązany post na Blog o aktualizacjach wersji.
3.4.1 (maj 2019 r.)
Ta niewielka aktualizacja obsługuje Androida Studio 3.4.1 i obejmuje różne błędy zawierające poprawki i usprawniające działanie aplikacji. Aby zobaczyć listę ważnych poprawek błędów, przeczytaj powiązany post na Blog o aktualizacjach wersji.
Nowe funkcje
-
Nowe konfiguracje zależności sprawdzania lintowania: zachowanie tagu
lintChecks
uległo zmianie i pojawiła się nowa zależność (lintPublish
) wprowadzona została konfiguracja, aby zapewnić masz większą kontrolę nad tym, które testy lint są spakowane w Androidzie biblioteki.-
lintChecks
: to istniejąca konfiguracja, której należy używać do sprawdzania błędów lint, które chcesz uruchamiać tylko podczas kompilowania projektu lokalnie. Jeśli wcześniej witryna była przez Ciebie używana Konfiguracja zależnościlintChecks
z uwzględnieniem lint w opublikowanym AAR, musisz przenieść te zależności aby używać nowej konfiguracjilintPublish
opisane poniżej. -
lintPublish
: użyj nowej konfiguracji w bibliotece projekty na potrzeby kontroli lintowania, które chcesz uwzględnić w opublikowanym AAR, jak pokazano poniżej. Oznacza to, że projekty, które zużywają bibliotekę, oraz przeprowadzają kontrole lintowania.
Poniższy przykład kodu używa obu konfiguracji zależności w lokalnym projekcie biblioteki Androida.
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks project(':lint') // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish project(':lintpublish') }
dependencies { // Executes lint checks from the ':lint' project at build time. lintChecks(project(":lint")) // Packages lint checks from the ':lintpublish' in the published AAR. lintPublish(project(":lintpublish")) }
-
Ogólnie w zadaniach pakietów i podpisywania powinna pojawić się ogólna kompilacja. i szybkości działania. Jeśli zauważysz spadek skuteczności w związku z te zadania, zgłoś błąd.
-
Zmiany w działaniu
-
Wycofanie wtyczki funkcji aplikacji błyskawicznych na Androida Ostrzeżenie: jeśli nadal używasz tagu
com.android.feature
do tworzenia aplikacji błyskawicznej, Wtyczka Androida do obsługi Gradle w wersji 3.4.0 wyświetli ostrzeżenie o ich wycofaniu. Aby mieć pewność, że nadal będziesz mieć możliwość kompilowania aplikacji błyskawicznej w przyszłych wersjach tego wtyczka, zmień aplikację błyskawiczną na korzystającą z wtyczka dynamicznych funkcji, który umożliwia publikowanie zarówno wersji instalowanej, jak i błyskawicznej aplikacji z jednego pakietu Android App Bundle. -
R8 jest domyślnie włączone: R8 łączy desugaring, kompresowanie, zaciemnianie, optymalizację i dekompilację w jednym kroku, co skutkuje znaczną poprawą wydajności kompilacji. R8 zostało wprowadzone w pliku Android Gradle w wersji 3.3.0 i jest teraz domyślnie włączone w przypadku projektów aplikacji i bibliotek Androida, które korzystają z pliku w wersji 3.4.0 lub nowszej.
Na obrazku poniżej znajdziesz ogólny opis procesu kompilacji przed wprowadzeniem wersji R8.

Teraz z R8, usuwanie cukru, kurczenie, zaciemnianie, optymalizacja i dexing (D8) można wykonać w jednym kroku, jak pokazano poniżej.

Pamiętaj, że R8 jest zaprojektowany do współpracy z istniejącymi regułami ProGuard, aby zacząć korzystać z R8, prawdopodobnie nie będzie trzeba podejmować żadnych działań. Pamiętaj jednak: bo to inna technologia niż ProGuard, która została opracowana w projektach na Androida zmniejszanie i optymalizacja mogą spowodować usunięcie kodu których może nie mieć ProGuard. W tej nieprawdopodobnej sytuacji , aby dodać więcej reguł, które pozwolą zachować ten kod w danych wyjściowych kompilacji.
Jeśli podczas korzystania z R8 napotkasz problemy, przeczytaj
Najczęstsze pytania dotyczące zgodności z R8
aby sprawdzić, czy można znaleźć rozwiązanie problemu. Jeśli rozwiązanie nie zostało udokumentowane, zgłoś błąd.
Możesz wyłączyć R8, dodając jeden z tych wierszy do pliku gradle.properties
projektu:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Uwaga: w przypadku danego typu kompilacji, jeśli ustawisz
Z: useProguard
do: false
w Twojej aplikacji
build.gradle
modułu, wtyczka Androida do obsługi Gradle używa R8.
aby zmniejszyć kod aplikacji pod kątem danego typu kompilacji, niezależnie od tego, czy
wyłącz R8 w pliku gradle.properties
projektu.
-
Usługa
ndkCompile
została wycofana: otrzymujesz teraz błąd kompilacji, jeśli spróbujesz użyćndkBuild
do skompilowania bibliotek natywnych. Zamiast tego użyj CMake lub ndk-build Dodaj kod C i C++ do swojej projekt.
Znane problemy
-
Prawidłowe użycie unikalnych nazw pakietów nie jest obecnie egzekwowane ale w kolejnych wersjach wtyczki będą bardziej rygorystyczne. W pliku plugina Gradle na Androida w wersji 3.4.0 możesz sprawdzić, czy Twój projekt deklaruje dopuszczalne nazwy pakietów. Aby to zrobić, dodaj do pliku
gradle.properties
poniższy wiersz.android.uniquePackageNames = true
Więcej informacji o ustawianiu nazwy pakietu za pomocą wtyczki Gradle dla Androida znajdziesz w artykule Ustawianie identyfikatora aplikacji.
3.3.0 (styczeń 2019 r.)
Ta wersja wtyczki na Androida wymaga:
-
Gradle 4.10.1 lub nowszej. Więcej informacji znajdziesz w sekcji – aktualizacji Gradle.
Uwaga: w przypadku Gradle w wersji 5.0 lub nowszej domyślna Rozmiar stosu demonów Gradle zmniejsza się z 1 GB do 512 MB. Może to spowodować spadek wydajności kompilacji. Aby zastąpić to ustawienie domyślne ustawienia, określ rozmiar stosu demonów Gradle w
gradle.properties
. -
SDK Build Tools w wersji 28.0.3 lub nowszej.
Ta niewielka aktualizacja zapewnia zgodność z nowymi ustawieniami domyślnymi oraz funkcje dla widoczność pakietów na Androidzie 11.
Szczegóły znajdziesz w informacjach o wersji 4.0.1.
3.3.2 (marzec 2019 r.)
Ta niewielka aktualizacja obsługuje Androida Studio 3.3.2 i zawiera różne błędy zawierające poprawki i ulepszenia w działaniu. Aby zobaczyć listę istotnych poprawek błędów, przeczytaj odpowiedni post na blogu z aktualnościami dotyczącymi wersji.
3.3.1 (luty 2019 r.)
Ta niewielka aktualizacja obsługuje Androida Studio 3.3.1 i obejmuje różne błędy zawierające poprawki i usprawniające działanie aplikacji.
Nowe funkcje
-
Ulepszona synchronizacja ścieżki zajęć: podczas rozwiązywania problemu zależności od środowiska wykonawczego i skompilowania ścieżek klas czasowych, Wtyczka Gradle próbuje rozwiązać niektóre konflikty wersji w kolejnych wersjach które występują w wielu ścieżkach klas.
Jeśli na przykład ścieżka klasy środowiska wykonawczego zawiera Bibliotekę A w wersji 2.0 i kompilacja ścieżki klasy obejmuje Bibliotekę A w wersji 1.0, wtyczka automatycznie aktualizuje zależność od ścieżki klasy kompilacji do Biblioteki A w wersji 2.0 na uniknąć błędów.
Jeśli jednak classpath środowiska wykonawczego zawiera bibliotekę A w wersji 1.0, a kompilacja zawiera bibliotekę A w wersji 2.0, wtyczka nie obniża zależności w classpath kompilacji do biblioteki A w wersji 1.0, co spowoduje błąd. Więcej informacji: Rozwiązywanie konfliktów między ścieżkami klasowymi.
-
Ulepszona przyrostowa kompilacja Javy przy użyciu procesorów adnotacji: ta aktualizacja skraca czas kompilacji dzięki ulepszaniu obsługi przyrostowej kompilacji Javy przy użyciu procesorów adnotacji.
Uwaga: ta funkcja jest zgodna z Gradle w wersji 4.10.1 i nowszych, z wyjątkiem Gradle 5.1 dzięki Gradle'owi nr 8194.
-
W przypadku projektów korzystających z Kapt (większość projektów obejmujących tylko Kotlin projekty hybrydowe Kotlin-Java): kompilacja przyrostowa języka Java. jest włączone, nawet jeśli używasz wiązania danych lub funkcji retro lambda wtyczki. Przetwarzanie adnotacji przez zadanie Kapt nie ma jeszcze przetwarzania przyrostowego.
-
W przypadku projektów, które nie korzystają z Kapt (projekty tylko w języku Java): jeśli używane przez Ciebie procesory adnotacji obsługują kompilację adnotacji stopniowej, kompilacja stopniowa w języku Java jest domyślnie włączona. Aby monitorować przyrostowe wartości wdrożenie procesora adnotacji, oglądanie Problem nr 5277 z Gradle.
Jeśli jednak co najmniej jeden procesor adnotacji nie obsługuje przyrostowych wartości kompilacja przyrostowa języka Java nie jest włączona. Zamiast tego możesz: umieść w pliku
gradle.properties
tę flagę:android.enableSeparateAnnotationProcessing=true
Po dołączeniu tej flagi wtyczka Androida do obsługi Gradle uruchamia procesory adnotacji w osobnym zadaniu i pozwalają na kompilację w Javie które powinno być uruchamiane przyrostowo.
-
-
Lepsze dane debugowania w przypadku używania przestarzałego interfejsu API: gdy parametr wtyczka wykrywa, że że używasz interfejsu API, który nie jest już obsługiwany, może teraz udostępniać bardziej szczegółowe informacje, które pomogą Ci określić, gdzie jest używany dany interfejs API. Aby zobaczyć dodatkowe informacje, na swoim koncie musisz umieścić te elementy plik
gradle.properties
projektu:android.debug.obsoleteApi=true
Możesz też włączyć flagę, podając parametr
-Pandroid.debug.obsoleteApi=true
w wierszu poleceń. -
Testy instrumentacji możesz przeprowadzać na modułach funkcji z poziomu wiersza poleceń.
Zmiany w działaniu
-
Konfiguracja leniwego zadania: wtyczka teraz używa Nowy interfejs API do tworzenia zadań w Gradle aby uniknąć inicjowania i konfigurowania zadań, które nie są wymagane w bieżącej kompilacji (lub zadań, których nie ma na wykresie zadań wykonania). Jeśli na przykład masz kilka wariantów kompilacji, np. „wersja produkcyjna” i „wersja debugująca”, a kompilujesz wersję „debugującą” aplikacji, wtyczka nie inicjuje ani nie konfiguruje zadań dotyczących wersji „produkcyjnej” aplikacji.
wywoływanie pewnych starszych metod w interfejsie Variants API, takich jak
variant.getJavaCompile()
, nadal może wymuszać konfigurację zadania. Aby upewnić się, że kompilacja jest zoptymalizowana pod kątem leniwego konfigurowania zadań, wywołaj nowe metody który zwraca błąd TaskProvider, taki jakvariant.getJavaCompileProvider()
.Jeśli wykonujesz niestandardowe zadania kompilacji, dowiedz się, zastosować nowy interfejs API Gradle do tworzenia zadań.
-
W przypadku danego typu kompilacji, gdy ustawisz
useProguard false
, wtyczka będzie teraz używać R8 zamiast ProGuarda do kompresji i zaciemnienia kodu oraz zasobów aplikacji. Więcej informacji o R8 znajdziesz na stronie tym poście na blogu na blogu dla deweloperów aplikacji na Androida. -
Szybsze generowanie klasy R w przypadku projektów bibliotek: wcześniej wtyczka Gradle dla Androida generowała plik
R.java
dla każdej zależności projektu, a następnie kompilowała te klasy R wraz z innymi klasami aplikacji. Wtyczka generuje teraz plik JAR zawierający skompilowaną klasę R Twojej aplikacji bezpośrednio, bez konieczności tworzenia klas średniozaawansowanych wR.java
. Ten może znacznie poprawić wydajność tworzenia w projektach, uwzględnić wiele podprojektów i zależności bibliotek, aby usprawnić indeksowanie w Android Studio. -
Podczas tworzenia pakietu Android App Bundle pliki APK wygenerowane ten pakiet aplikacji kierowany na Androida 6.0 (poziom interfejsu API 23) lub nowszego zawiera teraz nieskompresowanych wersji bibliotek natywnych. Ta optymalizacja eliminuje konieczność tworzenia kopii biblioteki przez urządzenie, co zmniejsza czyli rozmiar pamięci masowej aplikacji. Jeśli wolisz wyłączyć tę optymalizację, dodaj te do pliku
gradle.properties
:android.bundle.enableUncompressedNativeLibs = false
-
Wtyczka wymusza minimalne wersje niektórych wtyczek innych firm.
-
Synchronizacja projektu z jednym wariantem: Synchronizuję projekt z konfiguracją kompilacji jest ważnym krokiem, który pozwoli Android Studio zrozumieć strukturę swojego projektu. Ten proces można jednak czasochłonne w przypadku dużych projektów. Jeśli Twój projekt używa wielu kompilacji wersji, możesz teraz optymalizować synchronizacje projektów, ograniczając je tylko do wybrany wariant.
Musisz używać Android Studio w wersji 3.3 lub nowszej z wtyczką Androida do obsługi Gradle w wersji 3.3.0 lub wyższą, aby włączyć tę optymalizację. Jeśli spełniasz te wymagania, IDE prosi o włączenie tej optymalizacji podczas synchronizowania projektu. Optymalizacja jest też domyślnie włączona w przypadku nowych projektów.
Aby włączyć tę optymalizację ręcznie, kliknij kolejno Plik > Ustawienia > Funkcja eksperymentalna > Gradle (Android Studio > Ustawienia > Eksperymentalne > Gradle na Mac) i zaznacz pole wyboru Synchronizuj tylko aktywny wariant.
Uwaga: ta optymalizacja w pełni obsługuje projekty, które obejmują języki Java i C++, oraz częściowo obsługuje Kotlin. Podczas włączania optymalizacja pod kątem projektów z zawartością Kotlin opiera się na synchronizacji Gradle przy użyciu wewnętrznych wariantów.
-
Automatyczne pobieranie brakujących pakietów SDK: ta funkcja została rozszerzona o obsługę NDK. Więcej informacji: Brak automatycznego pobierania pakiety za pomocą Gradle.
Poprawki błędów.
-
Wtyczka Androida do obsługi Gradle w wersji 3.3.0 rozwiązuje te problemy:
- Proces kompilacji wywołuje metodę
android.support.v8.renderscript.RenderScript
zamiast AndroidaX, pomimo włączonej usługi Jetifier - Klastry z powodu błędu
androidx-rs.jar
, w tym statycznie połączoneannotation.AnyRes
- Korzystając z języka RenderScript, nie musisz już ręcznie konfigurować narzędzi do tworzenia kompilacji
wersja w Twoich plikach
build.gradle
- Proces kompilacji wywołuje metodę
3.2.0 (wrzesień 2018 r.)
Ta wersja wtyczki na Androida wymaga:
- Gradle 4.6 lub nowsza. Więcej informacji znajdziesz w sekcji – aktualizacji Gradle.
- Narzędzia do tworzenia pakietów SDK 28.0.3 lub nowsza.
3.2.1 (październik 2018 r.)
Dzięki tej aktualizacji nie musisz już określać wersji w kompilacji SDK. Narzędzia. Wtyczka Androida do obsługi Gradle domyślnie używa teraz wersji 28.0.3.
Nowe funkcje
-
Obsługa tworzenia pakietów aplikacji na Androida: pakiet aplikacji to nowy format przesyłania, który obejmuje cały skompilowany kod i zasoby aplikacji, a generowanie i podpisywanie pliku APK jest odkładane na czas przesyłania do Sklepu Google Play. Nie musisz już tworzyć, podpisywać ani zarządzać wieloma plikami APK, a użytkownicy otrzymują mniejsze pliki do pobrania zoptymalizowane pod kątem ich urządzenia. Więcej informacji znajdziesz w artykule Informacje o pakietach Android App Bundle.
-
Obsługa szybszej przyrostowej kompilacji podczas korzystania z procesorów adnotacji:
AnnotationProcessorOptions
Rozszerzenie DSL obejmuje terazCommandLineArgumentProvider
, który umożliwia Tobie lub autorowi przetwarzania adnotacji dodawanie adnotacji argumentów procesora przy użyciu adnotacje typu właściwości kompilacji przyrostowej. Korzystanie z tych adnotacji poprawia prawidłowość i skuteczność i czystych kompilacji przyrostowych i zapisanych w pamięci podręcznej. Więcej informacji: Przekazywanie argumentów do procesorów adnotacji. -
Narzędzie do migracji na AndroidaX: jeśli używasz wtyczki Androida do obsługi Gradle 3.2.0 i Android 3.2 lub nowszy, możesz przenieść dane lokalne i narzędzia Maven projektu korzystania z nowych bibliotek AndroidaX, wybierając Refaktor> > Przejdź na AndroidaX, korzystając z paska menu. Korzystanie z tego narzędzia do migracji powoduje też ustawienie tych flag na
true
w plikugradle.properties
:-
android.useAndroidX
: gdy ustawisz wartośćtrue
, wtyczka na Androida używa parametru odpowiednią bibliotekę AndroidaX zamiast biblioteki pomocy. Kiedy ta flaga nie jest określony, wtyczka ustawia go domyślnie nafalse
. -
android.enableJetifier
: jeśli ustawisz wartośćtrue
, wtyczka Androida automatycznie przenosi istniejące biblioteki innych firm do AndroidaX przez na przepisywania plików binarnych. Jeśli ta flaga nie jest określona, wtyczka ustawia domyślnie nafalse
. Możesz ustawić tę flagę natrue
tylko wtedy, gdy Parametrandroid.useAndroidX
ma także wartośćtrue
. W przeciwnym razie pojawi się błąd kompilacji.Więcej informacji znajdziesz w omówieniu Androida X.
-
-
Nowe narzędzie do skracania kodu, R8: R8 to nowe narzędzie do zawężania i zaciemniania kodu. które zastępuje ProGuard. Aby zacząć korzystać z wersji podglądu R8, w pliku
gradle.properties
projektu dodaj:android.enableR8 = true
android.enableR8 = true
Zmiany w działaniu
-
Desugaring za pomocą D8 jest teraz domyślnie włączony.
-
AAPT2 jest teraz dostępny w repozytorium Maven Google. Aby korzystać z AAPT2, sprawdź, czy w pliku
build.gradle
masz zależnośćgoogle()
, jak pokazano poniżej:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Natywne multidex jest teraz domyślnie włączone. Poprzednie wersje Androida Studio włączyło natywną obsługę plików danych typu multidex podczas wdrażania wersji do debugowania aplikacji w na urządzeniach z interfejsem API Androida na poziomie 21 lub wyższym. Niezależnie od tego, czy wdrażasz czy też tworząc pakiet APK do publikacji, czyli wtyczkę Androida do obsługi Gradle. włącza natywny moduł multidex dla wszystkich modułów ustawionych
minSdkVersion=21
lub więcej. -
Wtyczka wymusza teraz minimalną wersję wtyczki protobuf (0.8.6), Wtyczka Kotlin (1.2.50) i Crashlytics (1.25.4).
-
Wtyczka modułu funkcji
com.android.feature
jest teraz wymusza użycie tylko liter, cyfr i podkreśleń podczas określania nazwa modułu. Jeśli na przykład nazwa modułu funkcji zawiera łączniki, pojawia się błąd kompilacji. To zachowanie jest zgodne z działaniem funkcji dynamicznej wtyczki.
Poprawki błędów
- Obiekt JavaCompile można teraz buforować w projektach z wiązaniem danych. (problem 69243050)
- Łatwiejsze uniknięcie kompilowania w przypadku modułów biblioteki z wiązaniem danych. (Numer sprawy 77539932)
- Możesz teraz ponownie włączyć konfiguracja na żądanie została wyłączona we wcześniejszych wersjach z powodu nieprzewidywalne błędy kompilacji. (Numer sprawy 77910727)
3.1.0 (marzec 2018 r.)
Ta wersja wtyczki na Androida wymaga:
-
Gradle 4.4 lub nowszej.
Więcej informacji znajdziesz w sekcji – aktualizacji Gradle.
-
Narzędzia do tworzenia 27.0.3 lub nowsza.
Pamiętaj, że nie musisz już określać wersji kompilacji. używając właściwości
android.buildToolsVersion
– domyślnie używa minimalnej wymaganej wersji.
nowy kompilator DEX, D8;
Domyślnie Android Studio używa teraz nowego kompilatora DEX o nazwie D8. Kompilacja DEX to proces przekształcania kodu bajtowego .class
w kod bajtowy .dex
dla środowiska wykonawczego Androida (lub Dalvik w przypadku starszych wersji Androida). W porównaniu z poprzednim kompilatorem o nazwie DX i D8
szybciej kompiluje i generuje mniejsze pliki DEX, mając przy tym
i większa wydajność
czasu działania aplikacji.
D8 nie powinien zmieniać codziennego przepływu pracy przy tworzeniu aplikacji. Jeśli jednak
napotkasz problemy związane z nowym kompilatorem,
zgłoś błąd. Tymczasowo możesz:
wyłącz D8 i użyj trybu DX, umieszczając w pliku
Plik gradle.properties
:
android.enableD8=false
W projektach, w których
korzystać z funkcji w języku Java 8,
przyrostowe odsłuchiwanie jest domyślnie włączone. Możesz go wyłączyć, określając w pliku gradle.properties
projektu te ustawienia:
android.enableIncrementalDesugaring=false.
Użytkownicy wersji podglądowej: jeśli korzystasz już z wersji podglądowej D8, pamiętaj, że kompiluje ona teraz biblioteki zawarte w narzędziach do kompilowania pakietu SDK, a nie w JDK. Jeśli więc uzyskujesz dostęp do interfejsów API, które są dostępne w JDK, ale nie w bibliotekach narzędzi pakietu SDK, pojawia się błąd kompilacji.
Zmiany w działaniu
-
Podczas kompilowania wielu plików APK kierowanych na różne interfejsy ABI kompilator nie generuje już domyślnie plików APK dla tych interfejsów ABI:
mips
,mips64
iarmeabi
.Jeśli chcesz utworzyć pliki APK kierowane na te interfejsy ABI, musisz użyć NDK r16b lub niższy oraz określ interfejsy ABI w pliku
build.gradle
w następujący sposób:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
Komponent build pamięć podręczna usuwa teraz wpisy z pamięci podręcznej starsze niż 30 dni.
-
Przekazywanie wartości
"auto"
do funkcjiresConfig
nie powoduje już automatycznego wybierania zasobów ciągu znaków do spakowania do pliku APK. Jeśli będziesz nadal używać"auto"
, wtyczka będzie spakować wszystkie ciągi znaków informacje o zasobach dostarczanych przez aplikację i jej zależnościach. Zamiast tego określ wszystkie języki, w których wtyczka ma spakować do pliku APK. -
Moduły lokalne nie mogą zależeć od testowego pakietu APK aplikacji, dlatego dodanie zależności do testów instrumentowanych za pomocą
androidTestApi
, zamiastandroidTestImplementation
, powoduje, że Gradle generuje następujące ostrzeżenie:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Poprawki
- Rozwiązaliśmy problem, który powodował, że Android Studio nie rozpoznaje prawidłowo. w kompilacjach złożonych.
- Rozwiązanie problemu, który powodował błąd synchronizacji projektu podczas wczytywania wtyczki Androida wiele razy w jednym kompilacie, np. gdy wiele podprojektów zawiera wtyczkę Androida w swoim buildscript classpath.
3.0.0 (październik 2017 r.)
Wtyczka Androida do obsługi Gradle w wersji 3.0.0 zawiera różne zmiany, które pozwalają rozwiązywać problemy z wydajnością dużych projektów.
Na przykład w szkielecie przykładowego projektu z około 130 modułami i dużą liczbą zewnętrznych zależności (ale bez kodu ani zasobów) możesz zauważyć poprawę wydajności podobną do tej:
Wersja wtyczki na Androida + wersja Gradle | Wtyczka Androida 2.2.0 + Gradle 2.14.1 | Wtyczka Androida 2.3.0 + Gradle 3.3 | Wtyczka Androida 3.0.0 + Gradle 4.1 |
---|---|---|---|
Konfiguracja (np. aplikacja ./gradlew --help ) |
ok. 2 min | ok. 9 s | ~2,5 s |
Jednowierszowa zmiana języka Java (zmiana implementacji) | ok. 2 min 15 s | ok. 29 s | ~6,4 s |
Niektóre z tych zmian powodują nieprawidłowe działanie dotychczasowych wersji. Warto więc rozważyć\ migracji projektu przed użyciem nowej wtyczki.
Jeśli nie zauważysz opisanych powyżej ulepszeń wydajności, zgłoś błąd, dołączając ślad kompilacji utworzony za pomocą Profilera Gradle.
Ta wersja wtyczki na Androida wymaga:
- Gradle 4.1 lub wyższą. Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle.
-
Narzędzia do tworzenia w wersji 26.0.2
lub wyższą. Dzięki tej aktualizacji nie musisz już określać wersji usługi
z narzędzi kompilacji – domyślnie wtyczka będzie używać minimalnej wymaganej wersji.
Możesz więc usunąć usługę
android.buildToolsVersion
.
3.0.1 (listopad 2017 r.)
To drobna aktualizacja, która zapewnia obsługę Android Studio 3.0.1. Zawiera ona ogólne poprawki błędów i ulepszenia wydajności.
Optymalizacje
- Lepsza równoległość w przypadku projektów z wieloma modułami dzięki szczegółowym informacjom wykresu zadań.
- Gdy wprowadzasz zmiany w zależności, Gradle wykonuje kompilację szybciej, ponieważ nie kompiluje ponownie modułów, które nie mają dostępu do interfejsu API tej zależności.
Ogranicz zależności między zależnościami, które ujawniają swoje interfejsy API do innych modułów, przez
za pomocą
Nowe konfiguracje zależności Gradle:
implementation
,api
,compileOnly
, iruntimeOnly
. - Szybsza przyrostowa szybkość kompilacji dzięki dexingowi na klasę. Każda klasa jest teraz kompilowana w osobne pliki DEX, a przekonwertowane są tylko zmodyfikowane klasy. Szybkość kompilacji powinna się też zwiększyć w przypadku aplikacji, w których parametr
minSdkVersion
ma wartość 20 lub niższą i które korzystają z starszego wieloprocesorowego dekodera. - Zwiększono szybkość kompilacji przez optymalizację niektórych zadań pod kątem użycia żądanych danych wyjściowych. Aby skorzystać z tej optymalizacji, musisz najpierw włączyć pamięć podręczną kompilacji Gradle.
- Ulepszone przyrostowe przetwarzanie zasobów z użyciem AAPT2,
domyślnie włączone. Jeśli masz problemy podczas korzystania z AAPT2,
zgłoś błąd. Możesz też wyłączyć AAPT2, ustawiając wartość
android.enableAapt2=false
w plikugradle.properties
i ponownie uruchamiając demona Gradle, uruchamiając./gradlew --stop
z poziomu wiersza poleceń.
Nowe funkcje
- Zależność uwzględniająca wariant . Podczas tworzenia konkretnego wariantu modułu wtyczka automatycznie dopasowuje warianty zależności modułów biblioteki lokalnej do wersji tworzonego modułu.
- Zawiera nową wtyczkę modułu funkcji do obsługi Aplikacje błyskawiczne na Androida oraz Pakiet SDK do aplikacji błyskawicznych na Androida (który możesz pobrać za pomocą Menedżera pakietów SDK). Więcej informacji o tworzeniu modułów funkcji za pomocą nowej wtyczki znajdziesz na stronie Struktura to aplikacja błyskawiczna z wieloma funkcjami.
- Wbudowane wsparcie dla niektórych funkcji języka Java 8 i bibliotek Java 8. Jack jest teraz wycofany i nie jest już wymagany. Najpierw wyłącz Jacka, aby korzystać z ulepszonej obsługi Javy 8 wbudowanej w domyślny zestaw narzędzi. Więcej informacji: Korzystaj z funkcji w języku Java 8.
-
Dodano obsługę przeprowadzania testów z użyciem: Androida Narzędzie AGD, które pozwala uruchamiać testy aplikacji w własne wywołanie Instrumentacji. Każdy test jest uruchamiany w ramach własnego wystąpienia narzędzia do pomiaru wydajności, więc stan wspólny dla testów nie gromadzi się w pamięci ani na procesorze urządzenia. Nawet jeśli w ramach jednej awarii wystąpią błędy, zostanie ona usunięta, tylko własną instancję instrumentacji, więc pozostałe testy nadal działają.
- Dodano
testOptions.execution
, aby określić, czy używać administracja testami na urządzeniu. Jeśli chcesz użyj Android Test Agency, należy określićANDROID_TEST_ORCHESTRATOR
, jak pokazano poniżej. Domyślnie ta wartość właściwość jest ustawiona naHOST
, co wyłącza obsługę na urządzeniu i jest standardową metodą prowadzenia testów.
Odlotowe
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Dodano
-
Nowa konfiguracja zależności
androidTestUtil
umożliwia Ci zainstaluj inny pomocniczy pakiet APK przed uruchomieniem testów z instrumentacją, takich jak Android Test Agency:Odlotowe
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
Dodano
testOptions.unitTests.includeAndroidResources
, aby umożliwić testy jednostkowe, które wymagają zasobów Androida, takich jak Roboelectric. Ustawienie dotrue
, wtyczka wykonywała zasób, scalanie plików manifestu przed uruchomieniem testów jednostkowych. Dzięki temu wyniki testów sprawdźcom/android/tools/test_config.properties
na classpath dla tych kluczy:-
android_merged_assets
: ścieżka bezwzględna do funkcji katalogu scalonych zasobów.Uwaga: w przypadku modułów biblioteki scalone zasoby nie zawierają zasobów zależności (patrz problem #65550419).
-
android_merged_manifest
: ścieżka bezwzględna do funkcji scalonego pliku manifestu. -
android_merged_resources
: ścieżka bezwzględna do funkcji katalog scalonych zasobów, który zawiera wszystkie zasoby oraz wszystkie jego zależności. -
android_custom_package
: nazwa pakietu ostatniej klasy R. Jeśli dynamicznie modyfikujesz identyfikator aplikacji, nazwa pakietu może nie odpowiadać atrybuciepackage
w pliku manifestu aplikacji.
-
- Obsługa czcionek jako zasobów (jest to nowa funkcja wprowadzona w Androidzie 8.0 (poziom API 26)).
- Obsługa pakietów APK w określonych językach z atrybutem Androida pakietu SDK do aplikacji błyskawicznych w wersji 1.1 lub nowszej.
-
Możesz teraz zmienić katalog wyjściowy dla projektu kompilacji natywnych aplikacji zewnętrznych, jak pokazano poniżej:
Groovy
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Teraz możesz użyj CMake 3.7 lub wyższą podczas tworzenia projektów natywnych w Android Studio.
-
Nowa konfiguracja zależności
lintChecks
umożliwia tworzenie pliku JAR z definicją niestandardowych reguł lint i pakowanie go w projektach AAR i APK.Niestandardowe reguły lint muszą należeć do osobnego projektu, który generuje jeden plik JAR i zawiera tylko zależności
compileOnly
. Inne moduły aplikacji i biblioteki mogą zależeć od projektu linta korzystającego z konfiguracjilintChecks
:Odlotowe
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Zmiany w zachowaniu
- Wtyczka do Androida 3.0.0 usuwa określone interfejsy API, przez co kompilacja nie działa
lub ich używasz. Nie można już używać interfejsu Variants API do:
uzyskaj dostęp do
outputFile()
obiektów lub użyj funkcjiprocessManifest.manifestOutputFile()
, aby pobrać plik manifestu. dla każdego wariantu. Więcej informacji znajdziesz w artykule Zmiany w interfejsie API. - Nie musisz już określać wersji narzędzi do kompilacji (więc
może teraz usunąć właściwość
android.buildToolsVersion
). Według domyślnie wtyczka automatycznie używa minimalnych wymaganych narzędzi wersji używanej wtyczki do Androida. - Teraz możesz włączyć lub wyłączyć obróbkę obrazu PNG w
buildTypes
jak widać poniżej. Przetwarzanie PNG jest domyślnie włączone we wszystkich kompilacjach oprócz kompilacji do debugowania, ponieważ wydłuża to czas kompilacji w przypadku projektów, zawierać wiele plików PNG. Aby skrócić czas kompilacji w przypadku innych typów kompilacji, wyłącz kompresję PNG lub konwertuj obrazy do formatu WebP.Odlotowe
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Wtyczka Androida automatycznie tworzy teraz docelowe pliki wykonywalne skonfigurowane w zewnętrznych projektach CMake.
- Teraz musisz dodać procesory adnotacji do ścieżki klas procesora za pomocą konfiguracji zależności
annotationProcessor
. - Korzystanie z wycofanej właściwości
ndkCompile
jest teraz bardziej ograniczone. Zamiast tego użyj CMake lub ndk-build do skompilowania kodu natywnego, który chcesz zapakować do pliku APK. Więcej informacji: Migracja z ndkbuild.
3.0.0 (październik 2017 r.)
Wtyczka Androida do obsługi Gradle w wersji 3.0.0 zawiera różne zmiany, które pozwalają rozwiązywać problemy z wydajnością dużych projektów.
Na przykład w szkielecie przykładowego projektu z około 130 modułami i dużą liczbą zewnętrznych zależności (ale bez kodu ani zasobów) możesz zauważyć poprawę wydajności podobną do tej:
Wersja wtyczki Androida + wersja Gradle | Wtyczka Androida 2.2.0 + Gradle 2.14.1 | Wtyczka Androida 2.3.0 + Gradle 3.3 | Wtyczka Androida 3.0.0 + Gradle 4.1 |
---|---|---|---|
Konfiguracja (np. aplikacja ./gradlew --help ) |
ok. 2 min | ok. 9 s | ~2,5 s |
Jednowierszowa zmiana języka Java (zmiana implementacji) | ok. 2 min 15 s | ok. 29 s | ~6,4 s |
Niektóre z tych zmian powodują problemy z dotychczasowymi kompilacjami. Warto więc rozważyć\ migracji projektu przed użyciem nowej wtyczki.
Jeśli nie zauważasz poprawy wydajności opisanej powyżej, zgłoś błąd i dodaj ślad swojej kompilacji, korzystając z Program profilujący Gradle.
Ta wersja wtyczki na Androida wymaga:
- Gradle 4.1 lub nowsza. Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle.
-
Narzędzie do kompilacji w wersji 26.0.2 lub nowszej. Dzięki tej aktualizacji nie musisz już określać wersji narzędzi do kompilacji – wtyczka domyślnie używa minimalnej wymaganej wersji.
Możesz więc usunąć usługę
android.buildToolsVersion
.
3.0.1 (listopad 2017 r.)
To drobna aktualizacja, która zapewnia obsługę Android Studio 3.0.1. Zawiera ona ogólne poprawki błędów i ulepszenia wydajności.
Optymalizacje
- Lepsza równoległość w przypadku projektów z wieloma modułami dzięki szczegółowym informacjom wykresu zadań.
- Podczas wprowadzania zmian w zależności Gradle szybciej wykonuje kompilacje
ponowne kompilowanie modułów, które nie mają dostępu do interfejsu API danej zależności.
Ogranicz zależności między zależnościami, które ujawniają swoje interfejsy API do innych modułów, przez
za pomocą
Nowe konfiguracje zależności Gradle:
implementation
,api
,compileOnly
, iruntimeOnly
. - Szybsza przyrostowa szybkość kompilacji dzięki dexingowi na klasę. Każde zajęcia są
są teraz kompilowane do osobnych plików DEX, z których korzystają tylko klasy,
zmodyfikowane są ponownie deksowane. Przyspieszonych kompilacji:
aplikacji, dla których
minSdkVersion
ma wartość 20 lub niższą, oraz używają starszej wersji MultiDex. - Zwiększona szybkość kompilacji dzięki optymalizacji niektórych zadań pod kątem używania wyjściowych danych w pamięci podręcznej. Aby skorzystać z tej optymalizacji, musisz najpierw włączyć pamięć podręczną kompilacji Gradle.
- Ulepszone stopniowe przetwarzanie zasobów za pomocą AAPT2, które jest teraz domyślnie włączone. Jeśli podczas korzystania z AAPT2 wystąpią problemy, zgłoś błąd. Możesz też wyłączyć AAPT2, ustawiając wartość
android.enableAapt2=false
w plikugradle.properties
i ponownie uruchamiając demona Gradle, uruchamiając./gradlew --stop
z poziomu wiersza poleceń.
Nowe funkcje
- Zarządzanie zależnościami z uwzględnieniem wariantów. Podczas tworzenia konkretnego wariantu modułu wtyczka automatycznie dopasowuje warianty zależności modułów biblioteki lokalnej do wersji tworzonego modułu.
- Zawiera nowy wtyczkę modułu funkcji, która obsługuje aplikacje błyskawiczne na Androida i pakiet SDK aplikacji błyskawicznych na Androida (który można pobrać za pomocą menedżera pakietu SDK). Więcej informacji o tworzeniu modułów funkcji za pomocą nowej wtyczki znajdziesz na stronie Struktura to aplikacja błyskawiczna z wieloma funkcjami.
- Wbudowana obsługa określonych funkcji języka Java 8 i języka Java 8. biblioteki. Rozwiązanie Jack został wycofane i nie jest już wymagane. należy najpierw wyłączyć Jacka, aby korzystać z ulepszonej obsługi języka Java 8 wbudowanej w domyślny łańcuch narzędzi. Więcej informacji: Korzystaj z funkcji w języku Java 8.
-
Dodano obsługę uruchamiania testów za pomocą Android Test Orchestrator, która umożliwia uruchamianie każdego testu aplikacji w ramach jego własnego wywołania narzędzia Instrumentation. Ponieważ każdy test uruchamia się osobno W instancji instrumentacji – wspólne stany między testami nie kumulują się CPU lub pamięć urządzenia. Nawet jeśli jeden test ulegnie awarii, spowoduje to wyłączenie tylko jego instancji narzędzia Instrumentation, więc pozostałe testy będą nadal działać.
- Dodano
testOptions.execution
, aby określić, czy używać administracja testami na urządzeniu. Jeśli chcesz użyj Android Test Agency, należy określićANDROID_TEST_ORCHESTRATOR
, jak pokazano poniżej. Domyślnie ta wartość właściwość jest ustawiona naHOST
, co wyłącza obsługę na urządzeniu i jest standardową metodą prowadzenia testów.
Odlotowe
android { testOptions { execution 'ANDROID_TEST_ORCHESTRATOR' } }
Kotlin
android { testOptions { execution = "ANDROID_TEST_ORCHESTRATOR" } }
- Dodano
-
Nowa konfiguracja zależności
androidTestUtil
umożliwia Ci zainstaluj inny pomocniczy pakiet APK przed uruchomieniem testów z instrumentacją, takich jak Android Test Agency:Odlotowe
dependencies { androidTestUtil 'com.android.support.test:orchestrator:1.0.0' ... }
Kotlin
dependencies { androidTestUtil("com.android.support.test:orchestrator:1.0.0") ... }
-
Dodano
testOptions.unitTests.includeAndroidResources
, aby umożliwić testy jednostkowe, które wymagają zasobów Androida, takich jak Roboelectric. Ustawienie dotrue
, wtyczka wykonywała zasób, scalanie plików manifestu przed uruchomieniem testów jednostkowych. Dzięki temu wyniki testów sprawdźcom/android/tools/test_config.properties
na classpath dla tych kluczy:-
android_merged_assets
: bezwzględna ścieżka do katalogu scalonych komponentów.Uwaga: w przypadku modułów biblioteki scalone zasoby nie zawierają zasobów zależności (patrz problem #65550419).
-
android_merged_manifest
: bezwzględna ścieżka do scalonego pliku manifestu. -
android_merged_resources
: ścieżka bezwzględna do funkcji katalog scalonych zasobów, który zawiera wszystkie zasoby oraz wszystkie jego zależności. -
android_custom_package
: nazwa pakietu ostatniej klasy R. Jeśli dynamicznie modyfikujesz identyfikator aplikacji, nazwa pakietu może nie być zgodna z atrybutempackage
w atrybutach z pliku manifestu aplikacji.
-
- Obsługa czcionek jako zasobów (jest to nowa funkcja wprowadzona w Androidzie 8.0 (poziom API 26)).
- Obsługa plików APK w różnych językach w pakiecie SDK aplikacji błyskawicznych na Androida w wersji 1.1 lub nowszej.
-
Możesz teraz zmienić katalog wyjściowy dla projektu kompilacji natywnych aplikacji zewnętrznych, jak pokazano poniżej:
Groovy
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory "./outputs/cmake" } } }
Kotlin
android { ... externalNativeBuild { // For ndk-build, instead use the ndkBuild block. cmake { ... // Specifies a relative path for outputs from external native // builds. You can specify any path that's not a subdirectory // of your project's temporary build/ directory. buildStagingDirectory = "./outputs/cmake" } } }
- Teraz możesz użyj CMake 3.7 lub wyższą podczas tworzenia projektów natywnych w Android Studio.
-
Nowa konfiguracja zależności
lintChecks
umożliwia tworzenie pliku JAR z definicją niestandardowych reguł lint i pakowanie go w projektach AAR i APK.Niestandardowe reguły lint muszą należeć do osobnego projektu, który generuje jeden plik JAR i zawiera tylko zależności
compileOnly
. Inne moduły aplikacji i biblioteki mogą zależeć od projektu linta korzystającego z konfiguracjilintChecks
:Odlotowe
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks project(':lint-checks') }
Kotlin
dependencies { // This tells the Gradle plugin to build ':lint-checks' into a lint.jar file // and package it with your module. If the module is an Android library, // other projects that depend on it automatically use the lint checks. // If the module is an app, lint includes these rules when analyzing the app. lintChecks(project(":lint-checks")) }
Zmiany w zachowaniu
- Wtyczka Androida 3.0.0 usuwa niektóre interfejsy API, a jeśli ich używasz, kompilacja nie będzie działać prawidłowo. Nie można już używać interfejsu Variants API do:
uzyskaj dostęp do
outputFile()
obiektów lub użyj funkcjiprocessManifest.manifestOutputFile()
, aby pobrać plik manifestu. dla każdego wariantu. Więcej informacji: Zmiany interfejsu API. - Nie musisz już określać wersji dla narzędzi do kompilacji (możesz teraz usunąć właściwość
android.buildToolsVersion
). Domyślnie wtyczka automatycznie używa minimalnej wymaganej wersji narzędzi do kompilowania dla wersji używanej przez Ciebie wtyczki Android. - Teraz możesz włączyć lub wyłączyć obróbkę obrazu PNG w
buildTypes
jak widać poniżej. Przetwarzanie PNG jest domyślnie włączone we wszystkich kompilacjach oprócz kompilacji do debugowania, ponieważ wydłuża to czas kompilacji w przypadku projektów, zawierać wiele plików PNG. Aby więc skrócić czas kompilacji w przypadku innych typów kompilacji, należy wyłączyć crunching PNG albo przelicz i przesyłanie obrazów do WebP.Groovy
android { buildTypes { release { // Disables PNG crunching for the release build type. crunchPngs false } } }
Kotlin
android { buildTypes { release { // Disables PNG crunching for the release build type. isCrunchPngs = false } } }
- Wtyczka Androida automatycznie tworzy teraz docelowe pliki wykonywalne skonfigurowane w zewnętrznych projektach CMake.
- Teraz musisz dodać procesory do obsługi adnotacji do ścieżki klas procesora za pomocą konfiguracji zależności
annotationProcessor
. - Korzystanie z wycofanej zasady
ndkCompile
jest teraz bardziej ograniczone. Zamiast tego do kompilowania należy przejść na CMake lub ndk-build kod natywny, który chcesz spakować do pliku APK. Więcej informacji znajdziesz w artykule Przejście z ndkcompile.
2.3.0 (luty 2017 r.)
2.3.3 (czerwiec 2017 r.)
To drobna aktualizacja, która zapewnia zgodność z Android Studio 2.3.3.
2.3.2 (maj 2017 r.)
To drobna aktualizacja, która zwiększa zgodność z Android Studio, 2.3.2.
2.3.1 (kwiecień 2017 r.)
Ta niewielka aktualizacja wtyczki do Androida 2.3.0 rozwiązuje problem na których fizyczne urządzenia z Androidem nie działały prawidłowo. Błyskawiczne uruchamianie (patrz nr 235879).
- Zależności:
-
- Gradle w wersji 3.3 lub nowszej.
- Narzędzia do tworzenia w wersji 25.0.0 lub wyższą.
- Nowość:
-
- korzysta z narzędzia Gradle 3.3, które obejmuje ulepszenia wydajności nowe funkcje. Więcej informacji znajdziesz w informacjach o wersji Gradle.
- Utwórz pamięć podręczną: przechowuje określone dane wyjściowe, które Android
wtyczka generowana podczas kompilowania projektu (np. bez pakietu
AAR i zależności zdalne zdeksowane wstępnie). Twoje czyste konstrukcje są
dużo szybsze przy korzystaniu z pamięci podręcznej, ponieważ system kompilacji
używaj tych plików z pamięci podręcznej podczas kolejnych kompilacji,
ich odtworzenie. Projekty korzystające z wtyczki Androida w wersji 2.3.0 lub nowszej używają
domyślnie pamięci podręcznej kompilacji. Więcej informacji:
Zwiększ szybkość kompilacji dzięki
Build Cache (Utwórz pamięć podręczną).
- Zawiera zadanie
cleanBuildCache
, które wyczyści pamięć podręczną kompilacji. - Jeśli używasz eksperymentalnej wersji pamięci podręcznej kompilacji (dostępne we wcześniejszych wersjach wtyczki), musisz zaktualizuj wtyczkę do do najnowszej wersji.
- Zawiera zadanie
- Zmiany:
-
- Obsługa zmian w błyskawicznym uruchomieniu zawartych w Android Studio 2.3
- Czas konfiguracji bardzo dużych projektów powinien być znacznie krótszy.
- Rozwiązaliśmy problemy z automatycznym pobieraniem w przypadku aplikacji układ ograniczenia Biblioteka.
- Wtyczka używa teraz ProGuard w wersji 5.3.2.
- Zawiera wiele poprawek dla zgłaszanych błędów. Przejdź do zgłoś błędy, gdy wystąpienia problemów.
2.2.0 (wrzesień 2016 r.)
- Zależności:
-
- Gradle 2.14.1 lub nowsza.
- Narzędzia do tworzenia w wersji 23.0.2 lub wyższą.
- Nowość:
-
- Korzysta z narzędzia Gradle w wersji 2.14.1, która zwiększa wydajność i nowych funkcji oraz usuwa lukę w zabezpieczeniach, lokalnych eskalacji uprawnień podczas korzystania z demona Gradle. Więcej informacji znajdziesz w informacjach o wersji Gradle.
- Korzystanie z
externalNativeBuild {}
DSL, Gradle umożliwia teraz dodaj link do źródeł natywnych i skompiluj biblioteki natywne za pomocą CMake lub ndk-build. Po utworzeniu bibliotek natywnych Gradle i umieszcza je w pakiecie APK. Aby dowiedzieć się więcej o korzystaniu z CMake i ndk-build with Gradle, przeczytaj artykuł Dodawanie kodu C i C++ do pliku Projekt. - Po uruchomieniu z wiersza poleceń, Gradle próbuje teraz pobrać automatycznie wszystkich brakujących komponentów lub aktualizacji pakietu SDK, od których zależy Twój projekt. Więcej informacji znajdziesz w sekcji Automatyczne pobieranie brakujące pakiety za pomocą Gradle.
- Nowa eksperymentalna funkcja buforowania, która pozwala Gradle przyspieszyć kompilację przez wstępne deksowanie, przechowywanie i ponowne wykorzystywanie wersji w Twoich bibliotekach. Aby dowiedzieć się więcej o korzystaniu z tej eksperymentalnej funkcji, przeczytaj kompilację Pamięć podręczna.
- Zwiększa wydajność kompilacji dzięki zastosowaniu nowego domyślnego potoku pakowania, który obsługuje kompresowanie, podpisywanie i wyrównywanie pakietów w ramach jednego zadania. Ty
możesz powrócić do starszych narzędzi
do tworzenia pakietów, dodając
android.useOldPackaging=true
nagradle.properties
. Gdy używasz nowego narzędzia do pakowania, zadaniezipalignDebug
jest niedostępne. Możesz jednak utworzyć go samodzielnie, wywołując metodęcreateZipAlignTask(String taskName, File inputFile, File outputFile)
. - Podpisywanie plików APK odbywa się teraz za pomocą schematu podpisu APK w wersji 2, a nie tylko tradycyjnego podpisywania plików JAR. Wszystkie platformy Android akceptują
utworzone pliki APK. Wszelkie modyfikacje tych plików APK po ich podpisaniu unieważniają te pliki
w wersji 2 i uniemożliwiają instalację na urządzeniu. Aby wyłączyć tę funkcję, dodaj do pliku
build.gradle
na poziomie modułu następujący kod:Groovy
android { ... signingConfigs { config { ... v2SigningEnabled false } } }
Kotlin
android { ... signingConfigs { create("config") { ... v2SigningEnabled = false } } }
- W przypadku kompilacji multidex możesz teraz za pomocą reguł ProGuard określić,
klas, które Gradle powinno skompilować do głównego pliku DEX aplikacji. Ponieważ system Android podczas uruchamiania aplikacji najpierw wczytuje główny plik DEX, możesz nadać priorytet niektórym klasom podczas uruchamiania, kompilując je w głównym pliku DEX. Po utworzeniu pliku konfiguracji ProGuard specjalnie dla Twojego
głównego pliku DEX, przekaż ścieżkę pliku konfiguracji do Gradle za pomocą
buildTypes.multiDexKeepProguard
Korzystanie z tego języka opisu jest inne niż korzystanie zbuildTypes.proguardFiles
, który zawiera ogólne reguły ProGuard dla aplikacji i nie określa klas w głównym pliku DEX. - Dodaje obsługę parametru
android:extractNativeLibs
, który może zmniejszyć rozmiar aplikacji podczas jej instalowania na urządzeniu. Gdy ustawisz tę flagę na wartośćfalse
w elemencie<application>
w manifeście aplikacji, Gradle spakietuje nieskompresowane i zgodne wersje bibliotek natywnych z plikiem APK. Dzięki temuPackageManager
nie będzie kopiować natywnych bibliotek z pliku APK do systemu plików urządzenia podczas instalacji. Dodatkowo zmniejszy to rozmiar aktualizacji delta aplikacji. - Możesz teraz określić
versionNameSuffix
iapplicationIdSuffix
. (Numer 59614)
- Zmiany:
-
-
getDefaultProguardFile
zwraca teraz domyślne pliki ProGuarda, które udostępnia wtyczka Androida do Gradle, i nie używa już plików z Android SDK. - Ulepszona wydajność i funkcje kompilatora Jack:
- Jack obsługuje teraz pokrycie testu Jacoco, gdy parametr
testCoverageEnabled
ma wartośćtrue
. - Ulepszona obsługa procesorów adnotacji. Procesory adnotacji w Twoim classpath, takie jak zależności
compile
, są automatycznie stosowane w Twoim kompilacji. Możesz też określić procesor adnotacji w kompilacji i przekazać argumenty, używając językajavaCompileOptions.annotationProcessorOptions {}
DSL w plikubuild.gradle
na poziomie modułu:Groovy
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className 'com.example.MyProcessor' // Arguments are optional. arguments = [ foo : 'bar' ] } } } }
Kotlin
android { ... defaultConfig { ... javaCompileOptions { annotationProcessorOptions { className = "com.example.MyProcessor" // Arguments are optional. arguments(mapOf(foo to "bar")) } } } }
Jeśli podczas kompilacji chcesz zastosować procesor adnotacji ale nie umieszczaj ich w pliku APK, użyj polecenia Zakres zależności
annotationProcessor
:Odlotowe
dependencies { compile 'com.google.dagger:dagger:2.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // or use buildVariantAnnotationProcessor to target a specific build variant }
Kotlin
dependencies { implementation("com.google.dagger:dagger:2.0") annotationProcessor("com.google.dagger:dagger-compiler:2.0") // or use buildVariantAnnotationProcessor to target a specific build variant }
- Domyślnie, jeśli rozmiar stosu demona Gradle wynosi co najmniej 1,5
Jack działa teraz w tym samym procesie co Gradle. Aby dostosować rozmiar stosu demona, dodaj do pliku
gradle.properties
te informacje:# This sets the daemon heap size to 1.5GB. org.gradle.jvmargs=-Xmx1536M
Aby zobaczyć listę parametrów, które możesz ustawić, uruchom polecenie poniżej wiersz poleceń:
java -jar /build-tools/jack.jar --help-properties
- Jack obsługuje teraz pokrycie testu Jacoco, gdy parametr
-
2.1.0 (kwiecień 2016 r.)
2.1.3 (sierpień 2016 r.)
Ta aktualizacja wymaga Gradle w wersji 2.14.1 lub nowszej. Gradle w wersji 2.14.1 obejmuje ulepszenia wydajności, nowe funkcje i ważna poprawka zabezpieczeń. Więcej informacji znajdziesz w informacjach o wersji Gradle.
- Zależności:
-
- Gradle w wersji 2.10 lub nowszej.
- Narzędzie do kompilacji 23.0.2 lub nowsze.
- Nowość:
-
- Dodano obsługę wersji N Developer Preview, JDK 8 i funkcji języka Java 8 za pomocą zestawu narzędzi Jack. Więcej informacji znajdziesz w przewodniku po wersji N.
Uwaga: natychmiastowe Uruchomienie nie działa obecnie z Jackiem i zostanie wyłączone, za pomocą nowego łańcucha narzędzi. Jack jest potrzebny tylko wtedy, gdy tworzysz wersji N Preview i chcesz używać obsługiwanych funkcji języka Java 8.
- Dodaliśmy domyślną obsługę przyrostowej kompilacji kodu Java, aby zmniejszyć
kompilację danych w trakcie tworzenia aplikacji. Jest to możliwe dzięki ponownej kompilacji
części źródła, które uległy zmianie lub wymagają ponownego skompilowania. Aby wyłączyć
dodaj następujący kod na poziomie modułu:
Plik
build.gradle
:Groovy
android { ... compileOptions { incremental false } }
Kotlin
android { ... compileOptions { incremental = false } }
-
Dodano obsługę procesu dexingu w trakcie procesu, który wykonuje dexing w kompilacji. a nie w osobnym, zewnętrznym procesie maszyny wirtualnej. Dzięki temu kompilacje przyrostowe i pełne będą szybsze. Funkcja domyślnie włączona w projektach, które ustawiły maksymalną stertę demona Gradle do co najmniej 2048 MB. Aby to zrobić, uwzględnij w sekcji plik
```brak org.gradle.jvmargs = -Xmx2048mgradle.properties
projektu:Jeśli w pliku
```none org.gradle.jvmargs = -Xmx3072m ```build.gradle
na poziomie modułu zdefiniowano wartość parametrujavaMaxHeapSize
, należy ustawić parametrorg.gradle.jvmargs
na wartośćjavaMaxHeapSize
+ 1024 MB. Jeśli np. ustawisz wartośćjavaMaxHeapSize
na „2048 m”, musisz dodać do plikugradle.properties
projektu następujący ciąg:Aby wyłączyć dexing-in-process, dodaj do pliku
build.gradle
na poziomie modułu ten kod:Groovy
android { ... dexOptions { dexInProcess false } }
Kotlin
android { ... dexOptions { dexInProcess = false } }
- Dodano obsługę wersji N Developer Preview, JDK 8 i funkcji języka Java 8 za pomocą zestawu narzędzi Jack. Więcej informacji znajdziesz w przewodniku po wersji N.
2.0.0 (kwiecień 2016 r.)
- Zależności:
-
- Gradle 2.10 lub nowsza.
- Narzędzie do kompilacji w wersji 21.1.1 lub nowszej.
- Nowość:
-
- Włącza Błyskawiczne uruchamianie przez obsługi wstrzykiwania kodu bajtowego oraz przekazywania aktualizacji kodu i zasobów z uruchomioną aplikacją przy użyciu emulatora lub urządzenia fizycznego.
- Dodano obsługę kompilacji przyrostowych nawet wtedy, gdy aplikacja nie jest uruchomiona. Pełne czasy kompilacji są szybsze przez wprowadzanie stopniowych zmian za pomocą Android Debug Bridge: podłączonego urządzenia.
- Dodano
maxProcessCount
, aby kontrolować liczbę procesów dex instancji roboczych wprowadzane jednocześnie. Poniższy kod na poziomie modułubuild.gradle
– ustawia maksymalną liczbę równoczesnych procesów do 4:Groovy
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
Kotlin
android { ... dexOptions { maxProcessCount = 4 // this is the default value } }
</li> <li>Added an experimental code shrinker to support pre-dexing and reduce re-dexing of dependencies, which are not supported with Proguard. This improves the build speed of your debug build variant. Because the experimental shrinker does not support optimization and obfuscation, you should enable Proguard for your release builds. To enable the experimental shrinker for your debug builds, add the following to your module-level <code>build.gradle</code> file:
Groovy
android { ... buildTypes { debug { minifyEnabled true useProguard false } release { minifyEnabled true useProguard true // this is a default setting } } }
Kotlin
android { ... buildTypes { getByName("debug") { minifyEnabled = true useProguard = false } getByName("release") { minifyEnabled = true useProguard = true // this is a default setting } } }
</li> <li>Added logging support and improved performance for the resource shrinker. The resource shrinker now logs all of its operations into a <code>resources.txt</code> file located in the same folder as the Proguard log files. </li> </ul>
- Zmienione działanie:
-
- Gdy parametr
minSdkVersion
ma wartość 18 lub wyższą, podpisywanie pliku APK odbywa się przy użyciu funkcji SHA256.
<li>DSA and ECDSA keys can now sign APK packages. <p class="note"> <strong>Note:</strong> The <a href= "/training/articles/keystore.html">Android keystore</a> provider no longer supports <a href= "/about/versions/marshmallow/android-6.0-changes.html#behavior-keystore"> DSA keys on Android 6.0</a> (API level 23) and higher. </p> </li> </ul>
- Gdy parametr
- Rozwiązane problemy:
-
- Usunięto błąd, który powodował zduplikowanie zależności AAR w obu w konfiguracji testowej i głównej.
Wtyczka na Androida do Gradle, wersja 1.5.0 (listopad 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Wtyczkę Data Binding zintegrowano z wtycką Androida do obsługi Gradle. Aby ją włączyć, dodaj
ten kod do każdego pliku
build.gradle
w projekcie, który korzysta z parametru wtyczka: - Dodaliśmy nowy Transform API.
żeby umożliwić wtyczkom innych firm manipulowanie skompilowanymi plikami
.class
, zanim zostaną przekonwertowano na.dex
plików. Transform API upraszcza wstrzykiwanie klasy niestandardowej pozwala na większą swobodę działania, a jednocześnie daje większą swobodę wyboru. Aby wstawić przekształc w kompilację, utwórz nową klasę implementującą jedną z funkcjiTransform
i zarejestruj ją wandroid.registerTransform(theTransform)
lubandroid.registerTransform(theTransform, dependencies)
Nie musisz łączyć zadań ze sobą. Uwaga: - Przekształcenie może odnosić się do co najmniej 1 z tych elementów: bieżący projekt, podprojekty, i bibliotekach zewnętrznych.
- Transformacja musi być zarejestrowana globalnie, co ma zastosowanie do wszystkich wariantów.
- Wewnętrzne przetwarzanie kodu przy użyciu biblioteki Javy Code Range (JaCoCo), ProGuard,
i MultiDex korzystają teraz z interfejsu Transform API. Jednak pakiet Java Android Compiler Kit
(Jack) nie używa tego interfejsu API: używa tylko ścieżka kodu
javac/dx
. - Gradle wykonuje przekształcenia w tej kolejności: JaCoCo, wtyczki innych firm, ProGuard. Kolejność wykonywania wtyczek innych firm odpowiada kolejności przekształceń dodane przez wtyczki innych firm; programiści wtyczek innych firm nie mogą kontrolować wykonania w kolejności przekształceń za pomocą interfejsu API.
- Wycofano metodę pobierającą
dex
z klasyApplicationVariant
. Nie możesz już uzyskać dostępu do zadaniaDex
za pomocą interfejsu API wariantów, ponieważ zostało ono już usunięte które można osiągnąć przez przekształcenie. Jest nie ma obecnie rozwiązania do kontrolowania procesu dex. - Naprawiona obsługa przyrostowa zasobów.
- ulepszona obsługa MultiDex przez udostępnienie jej w projektach testowych;
testów automatycznie dodaje
com.android.support:multidex-instrumentation
zależności. - Dodaliśmy możliwość prawidłowego niespełniania wymagań kompilacji Gradle i zgłaszania przyczyny błędu. gdy kompilacja Gradle wywołuje zadania asynchroniczne i w instancji roboczej wystąpi błąd. proces tworzenia konta.
- Dodano obsługę konfigurowania konkretnego interfejsu binarnego aplikacji (ABI) w wariantach zawierających wiele interfejsów ABI.
- Dodaliśmy obsługę listy rozdzielanej przecinkami numerów seryjnych urządzeń dla
Zmienna środowiskowa
ANDROID_SERIAL
podczas instalowania lub uruchamiania testów. - Usunięto błąd instalacji na urządzeniach z Androidem 5.0 (poziom interfejsu API 20) lub nowszym. gdy nazwa pliku APK zawiera spację.
- Rozwiązaliśmy różne problemy związane z komunikatem o błędzie narzędzia Android Asset Packaging Tool (AAPT).
- Dodaliśmy obsługę instrumentacji przyrostowej JaCoCo, aby szybciej kompilować przyrostowe kompilacje. Wtyczka do Androida do obsługi Gradle teraz bezpośrednio wywołuje instrumenter JaCo. Aby wymusić nowszą wersję JaCoCo, musisz ją dodać jako zależność skryptu kompilacji.
- Naprawiliśmy obsługę JaCoCo, aby ignorowała pliki, które nie są klasami.
- Dodano obsługę możliwości rysowania wektorowego w celu generowania plików PNG podczas kompilacji, aby zapewnić zgodność wsteczną.
Wtyczka Androida do obsługi Gradle generuje pliki PNG dla każdego wektora drawable znalezionego w katalogu zasobów, który nie określa wersji interfejsu API lub określa atrybut
android:minSdkVersion
o wartości 20 lub niższej w elemencie<uses-sdk>
w manifeście aplikacji. Gęstości PNG możesz ustawić za pomocą właściwościgeneratedDensities
w elemenciedefaultConfig
lub Sekcje:productFlavor
plikubuild.gradle
. - Dodano udostępnianie pozornego kodu
android.jar
, które generuje tylko wtyczka i służy do testowania jednostkowego. Wiele modułów, np.app
,lib
, teraz je udostępnij. Usuń plik$rootDir/build
, aby wygenerować go ponownie. - Zmieniliśmy przetwarzanie zasobów Javy tak, aby odbywało się przed zadaniami zaciemniania kodu, a nie podczas pakowania pakietu APK. Ta zmiana daje zadaniom zaciemniania kodu aby dostosować zasoby Javy po zaciemnianiu pakietów.
- Wyeliminowaliśmy problem z korzystaniem z interfejsu JNI (Java Native Interface) w pluginie eksperymentalnej biblioteki.
- Dodaliśmy możliwość ustawiania wersji platformy niezależnie od
Atrybut
android:compileSdkVersion
w bibliotece eksperymentalnej wtyczki.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Wtyczkę Data Binding zintegrowano z wtycką Androida do obsługi Gradle. Aby ją włączyć, dodaj
ten kod do każdego pliku
Wtyczka na Androida do Gradle, wersja 1.3.1 (sierpień 2015 r.)
Zależności:- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do tworzenia w wersji 21.1.1 lub nowszej.
- Naprawiono zadanie Zip wyrównanie. wykorzystuje dane wyjściowe z poprzedniego zadania przy użyciu niestandardowej nazwy pliku.
- Naprawiono pakowanie Renderscript za pomocą NDK.
- Wsparcie dla zadania kompilacji
createDebugCoverageReport
. - Naprawiona obsługa niestandardowego użycia
archiveBaseName
w pliku kompilacjibuild.gradle
. - Naprawiono
Invalid ResourceType
ostrzeżenie lint spowodowane przez metodę parametru wyszukiwanie adnotacji podczas uruchamiania lint poza Android Studio.
Wtyczka Androida do obsługi Gradle w wersji 1.3.0 (lipiec 2015 r.)
Zależności:- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do tworzenia w wersji 21.1.1 lub nowszej.
-
Dodano obsługę:
com.android.build.threadPoolSize
właściwość do kontrolowania rozmiaru puli wątków zadańAndroid
plikugradle.properties
lub wiersza poleceń. Ten przykład ustawia tę właściwość na 4.-Pcom.android.build.threadPoolSize=4
- Ustaw domyślne działanie kompilacji, aby wykluczyć
LICENSE
iLICENSE.txt
z pakietów APK. Aby umieścić te pliki w pakiecie APK, usuń je z folderu WłaściwośćpackagingOptions.excludes
w plikubuild.gradle
. Na przykład:android { packagingOptions.excludes = [] }
android { packagingOptions.excludes.clear() }
- Dodano zadanie
sourceSets
, aby zbadać zbiór wszystkich dostępnych zbiorów źródłowych. - Ulepszona obsługa testów jednostkowych, która umożliwia rozpoznawanie folderów źródłowych z wieloma wersjami i wariantami kompilacji. Na przykład do przetestowania aplikacji w kilku smakach
flavor1
iflavorA
z kompilacją typuDebug
, Testowe zestawy źródłowe to:- test
- testSmak1
- testSFlavorA
- testSmak1SmakA
- debug.Flavor1Smak
Testy Androida już rozpoznają foldery źródłowe z wieloma wersjami.
- Ulepszona obsługa testów jednostkowych:
- Uruchom
javac
w źródłach głównych i testowych, nawet jeśliuseJack
ma wartośćtrue
w pliku kompilacji. - poprawnie rozpoznawać zależności w przypadku każdego typu kompilacji;
- Uruchom
- Dodano obsługę określania argumentów testu instrumentacji za pomocą wiersza poleceń.
Na przykład:
./gradlew connectedCheck \ -Pandroid.testInstrumentationRunnerArguments.size=medium \ -Pandroid.testInstrumentationRunnerArguments.class=TestA,TestB
Dodaliśmy obsługę dowolnych dodatkowych parametrów Android Asset Packaging Tool (AAPT). w pliku
build.gradle
. Na przykład:android { aaptOptions { additionalParameters "--custom_option", "value" } }
android { aaptOptions { additionalParameters += listOf("--custom_option", "value") } }
- Dodano obsługę:
do testowania modułu APK jako osobnego modułu testowego, wykorzystując w tym celu
Właściwości
targetProjectPath
itargetVariant
pozwalające ustawić plik APK ścieżki i docelowego wariantu.Uwaga: testowy moduł APK nie obsługuje usługi smaków i można kierować reklamy tylko na jeden wariant. Ponadto Jacoco nie jest jeszcze obsługiwane.
- Przed scaleniem zasobów dodano weryfikację nazwy zasobu.
- Podczas tworzenia pakietu AAR (Android ARchive) dla modułów biblioteki nie podawaj parametru
automatyczny obiekt zastępczy
@{applicationId}
w manifestuj ustawienia fuzji. Zamiast tego użyj innego obiektu zastępczego, np.@{libApplicationId}
, podaj jej wartość, jeśli chcesz umieścić identyfikatory aplikacji w bibliotece archiwum.
Wtyczka na Androida do Gradle, wersja 1.2.0 (kwiecień 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Ulepszona obsługa testów jednostkowych za pomocą Gradle.
- Dodaliśmy obsługę uwzględniania zasobów w stylu Java w ścieżce klas podczas uruchamiania testów jednostkowych bezpośrednio z Gradle.
- Dodano obsługę zależności testu jednostkowego w Android Archive (AAR). artefaktów.
- Dodano obsługę właściwości
unitTestVariants
, aby można było manipulować wariantami testów jednostkowych za pomocą plikubuild.gradle
. - Dodano blok kodu
unitTest.all
wtestOptions
, aby skonfigurować zadania dla jednostki test. Poniższy przykładowy kod pokazuje, jak dodać test jednostkowy ustawienia konfiguracji za pomocą nowej opcji:android { testOptions { unitTest.all { jvmArgs '-XX:MaxPermSize=256m' // Or any other gradle option. } } }
android { testOptions { unitTest.all { jvmArgs += listOf("-XX:MaxPermSize=256m") // Or any other gradle option. } } }
- Naprawiono obsługę pól wyliczenia i instancji publicznych w
pliku
mockable-android.jar
. - Naprawiliśmy zależności zadań w projekcie biblioteki, aby przetestować klasy są kompilowane po wprowadzeniu zmian.
- Dodaliśmy właściwość
testProguardFile
, która umożliwia stosowanie plików ProGuard podczas kompresji pliku APK do testowania. - Do obiektu
adbOptions
dodano właściwośćtimeOut
blok kodu do ustawienia maksymalnego czasu nagrywania Ekran Android Debug Bridge nagrywanie. - Dodaliśmy obsługę zasobów o rozdzielczości 280 dpi.
- Większa skuteczność podczas oceny projektu.
- Ulepszona obsługa testów jednostkowych za pomocą Gradle.
Wtyczka na Androida do Gradle, wersja 1.1.3 (marzec 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Rozwiązaliśmy problem z duplikatami zależności w aplikacji testowej, który powodował błąd w ProGuard.
- Poprawiono implementację narzędzia do porównywania, które było niezgodne z umową z usługą porównywania cen JDK oraz wygenerował błąd JDK 7.
Wtyczka na Androida do Gradle, wersja 1.1.2 (luty 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Znormalizowana ścieżka podczas tworzenia pozorowanego pliku JAR dla jednostki i testowania.
- Naprawiono ustawienie
archivesBaseName
w plikubuild.gradle
. - Rozwiązano problem z nierozwiązanym błędem placeholdera podczas scalania manifestu podczas tworzenia aplikacji testowej biblioteki.
Wtyczka na Androida do Gradle, wersja 1.1.1 (luty 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Zmodyfikowane warianty kompilacji, które obejmują tylko te wersje, które zawierają atrybut Aktywator aplikacji Wear Zadania kompilacji związane z Wear.
- Zmieniono problemy związane z zależnościami tak, aby kończyć się niepowodzeniem w czasie kompilacji niż w momencie debugowania. To zachowanie umożliwia przeprowadzenie diagnostyki zadań (takich jak „zależności”), które pomagają rozwiązać konflikt.
- Poprawiono metodę
android.getBootClasspath()
, aby zwracała wartość.
Wtyczka Androida do obsługi Gradle w wersji 1.1.0 (luty 2015 r.)
- Zależności:
-
- Gradle w wersji 2.2.1 lub nowszej.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
- Uwagi ogólne:
-
- Nowa obsługa testów jednostkowych
- Włączona
jednostka
testów, aby przeprowadzić go na lokalnej maszynie wirtualnej JVM ze specjalną wersją.
z pliku
android.jar
zgodnego z np. Mockito. - Dodano nowe zadania testowe
testDebug
,testRelease
itestMyFlavorDebug
podczas korzystania z smaków produktów. - Dodano nowe foldery źródeł rozpoznawane jako testy jednostkowe:
src/test/java/
,src/testDebug/java/
,src/testMyFlavor/java/
. - Dodano nowe konfiguracje w pliku
build.gradle
do deklarowania zależności tylko do testów, na przykładtestCompile 'junit:junit:4.11'
,testMyFlavorCompile 'some:library:1.0'
Uwaga: zależności tylko testowe nie są obecnie zgodne z Jack (kompilator Java Android Compiler) ).
- Dodano
android.testOptions.unitTests.returnDefaultValues
sterować działaniem imitacji pliku android.jar. - W nazwach zadań testowych zastąpiono
Test
wartościąAndroidTest
. Na przykład parametr ZadanieassembleDebugTest
jest terazassembleDebugAndroidTest
. Zadania testu jednostkowego nadal zawiera ciągUnitTest
w nazwie zadania, na przykładassembleDebugUnitTest
- Zmodyfikowany ProGuard konfiguracyjnych, aby nie były już stosowane do testowego pakietu APK. Jeśli minifikacja jest włączona, ProGuard przetwarza testowy plik APK stosuje tylko plik mapowania, który jest generowany przy zmniejszaniu głównego pliku APK.
- Zaktualizowano zarządzanie zależnościami.
- Rozwiązano problemy związane z użyciem zakresów
provided
ipackage
.Uwaga: te zakresy są niezgodne z pakietami AAR (Android ARchive) i może powodować niepowodzenie kompilacji z pakietami AAR.
- Zmodyfikowano rozpoznawanie zależności w celu porównania zależności zarówno aplikacji testowanej, jak i testowej. Jeśli artefakt z atrybutem dla obu aplikacji znajduje się ta sama wersja, nie jest uwzględniona w jest dodawana w pakiecie tylko z aplikacją, która jest testowana; Jeśli dla obu aplikacji zostanie znaleziony artefakt z inną wersją, kompilacja zakończy się niepowodzeniem.
- Rozwiązano problemy związane z użyciem zakresów
- Dodano obsługę języka
anyDpi
zasób kwalifikator w narzędziu do scalania zasobów. - Większa szybkość oceny i synchronizacji IDE dla projektów z dzięki dużej liczbie modułów na Androida.
Wtyczka na Androida do Gradle, wersja 1.0.1 (styczeń 2015 r.)
- Zależności:
-
-
Gradle od 2.2.1 do 2.3.x.
Uwaga: ta wersja wtyczki Androida do obsługi Gradle nie jest zgodna z Gradle 2.4 i nowszymi wersjami.
- Narzędzia do tworzenia w wersji 21.1.1 lub nowszej.
-
- Uwagi ogólne:
-
- Rozwiązaliśmy problem z niepowodzeniem kompilacji Gradle podczas uzyskiwania dostępu do modułu
extractReleaseAnnotations
. (Problem 81638). - Rozwiązaliśmy problem z usługą
Disable
przekazującą ustawienie--no-optimize
do kodu bajtowego Dalvik Executable (dex). (Problem 82662). - Rozwiązaliśmy problemy ze scalaniem plików manifestu występujące podczas importowania bibliotek z
targetSdkVersion
mniej niż 16. - Rozwiązaliśmy problem z kolejnością gęstości, który występował, gdy używasz Android Studio z JDK 8.
- Rozwiązaliśmy problem z niepowodzeniem kompilacji Gradle podczas uzyskiwania dostępu do modułu
Wtyczka Androida do obsługi Gradle w wersji 1.0.0 (grudzień 2014 r.)
- Zależności:
-
-
Gradle od 2.2.1 do 2.3.x.
Uwaga: ta wersja wtyczki Androida do obsługi Gradle nie jest zgodna z Gradle 2.4 ani nowszą.
- Narzędzia do kompilacji w wersji 21.1.1 lub nowszej.
-
- Uwagi ogólne:
-
- Pierwsza wersja wtyczki.