Android Studio 3.4 (kwiecień 2019 r.)
Android Studio 3.4 to duża wersja z wieloma nowymi funkcjami i ulepszeniami.
3.4.2 (lipiec 2019 r.)
Ta drobna aktualizacja zawiera różne poprawki błędów i ulepszenia w zakresie wydajności. Listę ważnych poprawek błędów znajdziesz w odpowiednim poście na blogu o aktualizacjach wersji.
3.4.1 (maj 2019 r.)
Ta drobna aktualizacja zawiera różne poprawki błędów i ulepszenia w zakresie wydajności. Listę ważnych poprawek błędów znajdziesz w odpowiednim poście na blogu o aktualizacjach wersji.
3.4.0 znane problemy
Profilowanie jest wyłączone podczas wdrażania aplikacji na urządzeniu z Androidem Q w wersji beta.
- Podczas korzystania z biblioteki powiązań danych
LiveDataListener.onChanged()
może wystąpić błąd z użyciem NPE. Rozwiązanie tego problemu zostanie uwzględnione w Android Studio 3.4.1 i jest już dostępne w najnowszej wersji testowej Androida Studio 3.5. (Zobacz problem nr 122066788)
IntelliJ IDEA 2018.3.4
Podstawowe środowisko IDE Android Studio zostało zaktualizowane o ulepszenia wprowadzone w wersji IntelliJ IDEA do wersji 2018.3.4.
Aktualizacje wtyczki Androida do obsługi Gradle w wersji 3.4.0
Więcej informacji o nowościach we wtyczce Androida do obsługi Gradle w wersji 3.4.0 znajdziesz w informacjach o wersji.
Okno nowej struktury projektu
Nowe okno struktury projektu (PSD) ułatwia aktualizowanie zależności i konfigurowanie różnych aspektów projektu, takich jak moduły, warianty kompilacji, konfiguracje podpisywania i zmienne kompilacji.
Aby otworzyć PSD, na pasku menu wybierz Plik > Struktura projektu. Możesz też otworzyć plik PSD, naciskając Ctrl+Shift+Alt+S
w systemach Windows i Linux lub Command+;
(średnik) w systemie macOS. Poniżej znajdziesz opisy niektórych nowych i zaktualizowanych sekcji dyrektywy PSD.
Zmienne
Nowa sekcja zmiennych w PSD umożliwia tworzenie zmiennych kompilacji i zarządzanie nimi, np. w celu zachowania spójności numerów wersji w celu zapewnienia spójności zależności w całym projekcie.
- Szybkie wyświetlanie i edytowanie zmiennych kompilacji, które już istnieją w skryptach kompilacji Gradle projektu.
- Nowe zmienne kompilacji możesz dodawać na poziomie projektu lub modułu bezpośrednio z PSD.
Uwaga: jeśli Twoje istniejące pliki konfiguracji kompilacji przypisują wartości za pomocą złożonych skryptów Groovy, możesz nie być w stanie edytować tych wartości w PSD. Poza tym nie możesz edytować plików kompilacji napisanych w Kotlin za pomocą PSD.
Moduły
Skonfiguruj właściwości, które są stosowane do wszystkich wariantów kompilacji w istniejącym module, lub dodaj do projektu nowe moduły w sekcji Moduły. Tutaj możesz na przykład skonfigurować właściwości defaultConfig
lub zarządzać konfiguracjami podpisywania.
Zależności
Sprawdź i zwizualizuj każdą zależności na wykresie zależności swojego projektu, które udało się rozwiązać przez Gradle podczas synchronizacji projektu. W tym celu wykonaj te czynności:
- W panelu po lewej stronie PSD wybierz Zależności.
- W panelu Moduły wybierz moduł, w którym chcesz sprawdzić rozwiązane zależności.
- Po prawej stronie PSD otwórz widoczny poniżej panel Rozwiązane zależności.
Możesz też szybko wyszukać i dodać zależności do projektu, wybierając moduł w sekcji Zależności PSD, klikając przycisk (+) w sekcji Deklarowane zależności i wybierając typ zależności, którą chcesz dodać.
W zależności od wybranego typu zależności powinno pojawić się okno podobne do tego poniżej. Pomoże Ci ono dodać zależność do modułu.
Warianty kompilacji
W tej sekcji dyrektywy PSD utwórz i skonfiguruj warianty kompilacji i smaki usług dla każdego modułu w projekcie. Możesz dodawać obiekty zastępcze plików manifestu, dodawać pliki ProGuard i przypisywać klucze podpisywania.
Sugestie
W sekcji Sugestie znajdziesz sugerowane aktualizacje zależności projektu i zmiennych kompilacji.
Nowy menedżer zasobów
Menedżer zasobów to nowe okno z narzędziami do importowania, tworzenia i używania zasobów w aplikacji oraz do zarządzania nimi. Aby otworzyć okno narzędzia, na pasku menu wybierz Widok > Okna narzędzi > Menedżer zasobów. Menedżer zasobów umożliwia:
- Wizualizacja zasobów:możesz wyświetlać podgląd elementów rysowanych, kolorów i układów, by szybko znajdować potrzebne zasoby.
- Importowanie zbiorcze: możesz jednocześnie zaimportować wiele zasobów rysowalnych, przeciągając je i upuszczając w oknie narzędzia Menedżer zasobów lub korzystając z kreatora Importuj elementy rysowane. Aby otworzyć kreatora, kliknij przycisk (+) w lewym górnym rogu okna narzędzia, a następnie wybierz Importuj elementy rysunkowe z menu.
-
Konwertowanie plików SVG na obiekty
VectorDrawable
: możesz użyć kreatora Importuj elementy rysunkowe, aby przekonwertować obrazy SVG na obiektyVectorDrawable
. - Przeciąganie i upuszczanie zasobów: z okna narzędzia Menedżer zasobów możesz przeciągać i upuszczać elementy rysowane w widoku projektu i pliku XML w edytorze układu.
- Wyświetlanie wersji alternatywnych: możesz teraz wyświetlać alternatywne wersje zasobów, klikając dwukrotnie zasób w oknie Narzędzia. W tym widoku wyświetlane są różne utworzone przez Ciebie wersje oraz uwzględnione kwalifikatory.
- Widoki kafelków i list: możesz zmieniać widok w oknie narzędzia, aby wizualizować zasoby w różnych układach.
Więcej informacji znajdziesz w przewodniku po zarządzaniu zasobami aplikacji.
Sprawdzanie identyfikatorów kompilacji podczas profilowania i debugowania plików APK
Gdy udostępniasz pliki symboli debugowania dla bibliotek udostępnionych .so
w pakiecie APK, Android Studio sprawdza, czy identyfikator kompilacji podanych plików symboli jest zgodny z identyfikatorem kompilacji bibliotek .so
w pliku APK.
Jeśli biblioteki natywne tworzysz w pakiecie APK za pomocą identyfikatora kompilacji, Android Studio sprawdza, czy identyfikator kompilacji w plikach symboli jest zgodny z identyfikatorem kompilacji w bibliotekach natywnych, i odrzuca pliki symboli w razie niezgodności. Jeśli nie została skompilowana z identyfikatorem kompilacji, podanie nieprawidłowych plików symboli może spowodować problemy z debugowaniem.
R8 jest domyślnie włączone
R8 integruje w jednym kroku deustrakowanie, zmniejszanie, zaciemnianie, optymalizację i usuwanie szczegółów, co skutkuje zauważalnym poprawą wydajności kompilacji. R8 został wprowadzony we wtyczce Androida do obsługi Gradle w wersji 3.3.0 i jest teraz domyślnie włączony w projektach bibliotecznych w aplikacjach i na Androidzie za pomocą wtyczki w wersji 3.4.0 lub nowszej.
Na ilustracji poniżej przedstawiono ogólny przegląd procesu kompilacji przed wprowadzeniem R8.
W przypadku R8 usuwanie odblasków, zmniejszanie, zaciemnianie, optymalizowanie i usuwanie (D8) można wykonać w jednym kroku, jak widać na przykładzie poniżej.
Pamiętaj, że R8 zostało zaprojektowane do współpracy z Twoimi istniejącymi regułami ProGuard, więc prawdopodobnie nie musisz podejmować żadnych działań, aby skorzystać z R8. Ponieważ jednak jest to inna technologia niż ProGuard, która została opracowana specjalnie na potrzeby projektów na Androida, pomniejszenie i optymalizacja może spowodować usunięcie kodu, którego ProGuard może nie. W tej mało prawdopodobnej sytuacji konieczne może być dodanie kolejnych reguł, aby zachować ten kod w danych wyjściowych kompilacji.
Jeśli masz problemy z R8, przeczytaj Najczęstsze pytania na temat zgodności z R8, aby sprawdzić, czy można tam znaleźć rozwiązanie. Jeśli rozwiązania nie ma w dokumentacji, 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: jeśli w przypadku danego typu kompilacji ustawisz useProguard
na false
w pliku build.gradle
modułu aplikacji, wtyczka Androida do obsługi Gradle użyje R8 do zmniejszenia kodu aplikacji pod kątem tego typu kompilacji niezależnie od tego, czy wyłączysz R8 w pliku gradle.properties
projektu.
Edytor nawigacji obsługuje teraz wszystkie typy argumentów
Edytor nawigacji obsługuje teraz wszystkie typy argumentów obsługiwane przez komponent Nawigacja. Więcej informacji na temat obsługiwanych typów znajdziesz w artykule o przekazywaniu danych między miejscami docelowymi.
Ulepszenia edytora układu: {:#layout-editor}
Panel Atrybuty w edytorze układu został uproszczony do jednej strony z sekcjami, które możesz rozwinąć, aby zobaczyć atrybuty do skonfigurowania. Panel Atrybuty zawiera też te aktualizacje:
- Nowa sekcja Zadeklarowane atrybuty zawiera listę atrybutów określonych w pliku układu i umożliwia szybkie dodawanie nowych.
- W panelu Atrybuty znajdują się teraz wskaźniki obok każdego atrybutu, który ma wartość pełnowartościową, jeśli wartość atrybutu jest odwołaniem do zasobu, a w przeciwnym razie jest pusta.
- Atrybuty z błędami lub ostrzeżeniami są teraz wyróżnione. Czerwone wyróżnienia wskazują błędy (np. nieprawidłowe wartości układu), a pomarańczowe – ostrzeżenia (np. gdy używasz wartości umieszczonych na stałe).
Nowe działanie dotyczące zamiaru szybkiego importowania zależności
Jeśli zaczniesz używać w kodzie określonych klas Jetpack i Firebase, nowe działanie intencji będzie sugerować dodanie do projektu wymaganej zależności biblioteki Gradle. Jeśli na przykład odwołasz się do klasy WorkManager
bez wcześniejszego zaimportowania wymaganej zależności android.arch.work:work-runtime
, działanie intencji pozwala to łatwo zrobić jednym kliknięciem, jak pokazano poniżej.
Ponieważ w Jetpack zostały utworzone osobne pakiety pomocy, które są łatwiejsze do zarządzania i aktualizowania, to działanie intencji pomaga szybko dodać tylko te zależności od komponentów Jetpack, których chcesz używać.