Android Studio 3.4 (kwiecień 2019 r.)
Android Studio 3.4 to wersja główna, która zawiera wiele nowych funkcji i ulepszeń.
3.4.2 (lipiec 2019 r.)
Ta drobna aktualizacja zawiera różne poprawki błędów i ulepszenia działania. Listę ważnych poprawek błędów znajdziesz w powiązanym 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 działania. Listę ważnych poprawek błędów znajdziesz w powiązanym poście na blogu o aktualizacjach wersji.
Znane problemy z wersją 3.4.0
Profilowanie jest wyłączone podczas wdrażania aplikacji na urządzeniu z wersją beta Q Androida.
- Podczas korzystania z biblioteki powiązań danych,
LiveDataListener.onChanged()może się nie powieść z powodu NPE. Poprawka tego problemu zostanie uwzględniona w Android Studio 3.4.1 i jest już dostępna w najnowszej wersji testowej Android Studio 3.5. (Zobacz problem nr 122066788)
IntelliJ IDEA 2018.3.4
Główne środowisko IDE Android Studio zostało zaktualizowane o ulepszenia z IntelliJ IDEA w wersji 2018.3.4.
Aktualizacje wtyczki Androida do obsługi Gradle w wersji 3.4.0
Informacje o nowościach w wtyczce Androida do obsługi Gradle w wersji 3.4.0 znajdziesz w jej informacjach o wersji.
Nowe okno Struktura projektu
Nowe okno Struktura 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ć okno PSD, na pasku menu wybierz Plik > Struktura projektu. Możesz też otworzyć okno 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 okna PSD.
Zmienne
Nowa sekcja zmiennych w oknie PSD umożliwia tworzenie zmiennych kompilacji i zarządzanie nimi, np. zmiennymi służącymi do zachowania spójności numerów wersji zależności w całym projekcie.

- Szybko wyświetlaj i edytuj zmienne kompilacji, które już istnieją w skryptach kompilacji Gradle projektu.
- Dodawaj nowe zmienne kompilacji na poziomie projektu lub modułu bezpośrednio z okna PSD.
Uwaga: jeśli istniejące pliki konfiguracji kompilacji przypisują wartości za pomocą złożonych skryptów Groovy, możesz nie mieć możliwości edytowania tych wartości w oknie PSD. Ponadto nie możesz edytować plików kompilacji napisanych w języku Kotlin za pomocą okna PSD.
Moduły
W sekcji Moduły możesz skonfigurować właściwości, które są stosowane do wszystkich wariantów kompilacji w istniejącym
module, lub dodać nowe moduły do projektu. Możesz tu na
przykład skonfigurować właściwości defaultConfig lub zarządzać
konfiguracjami podpisywania.
Zależności
Aby sprawdzić i zwizualizować każdą zależność w grafie zależności projektu, która została rozwiązana przez Gradle podczas synchronizacji projektu, wykonaj te czynności:
- W panelu po lewej stronie okna PSD kliknij Zależności.
- W panelu Moduły wybierz moduł, dla którego chcesz sprawdzić rozwiązane zależności.
- Po prawej stronie okna PSD otwórz panel Rozwiązane zależności pokazany poniżej.

Możesz też szybko wyszukać i dodać zależności do projektu. W tym celu najpierw wybierz moduł w sekcji Zależności okna PSD, kliknij przycisk (+) w sekcji Zadeklarowane zależności i wybierz typ zależności, którą chcesz dodać.
W zależności od wybranego typu zależności powinien się wyświetlić podobny do tego poniżej komunikat, który pomoże Ci dodać zależność do modułu.

Warianty kompilacji
W tej sekcji okna PSD możesz tworzyć i konfigurować warianty kompilacji oraz wersje produktu dla każdego modułu w projekcie. Możesz dodawać symbole zastępcze w pliku manifestu, dodawać pliki ProGuard i przypisywać klucze podpisywania oraz wykonywać inne czynności.

Sugestie
W sekcji Sugestie możesz zobaczyć sugerowane aktualizacje zależności projektu i zmiennych kompilacji, jak pokazano poniżej.

Nowy Resource Manager
Resource Manager to nowe okno narzędzia służące do importowania, tworzenia, zarządzania i używania zasobów w aplikacji. Aby otworzyć to okno, na pasku menu wybierz Widok > Okna narzędzi > Resource Manager. Menedżer zasobów umożliwia wykonywanie tych czynności:

- Wizualizacja zasobów: możesz wyświetlać podgląd elementów rysowalnych, kolorów i układów, aby szybko znaleźć potrzebne zasoby.
- Importowanie zbiorcze: możesz importować wiele zasobów rysowalnych naraz, przeciągając je do okna narzędziowego Resource Manager lub korzystając z kreatora Importuj elementy rysowalne. Aby otworzyć kreatora, w lewym górnym rogu okna narzędziowego kliknij przycisk (+) , a następnie w menu wybierz Importuj elementy rysowalne.
-
Konwertowanie plików SVG na obiekty
VectorDrawable: możesz użyć kreatora Importuj elementy rysowalne do przekonwertowania obrazów SVG na obiektyVectorDrawable. - Przeciąganie i upuszczanie zasobów: w oknie narzędzia Menedżer zasobów możesz przeciągać i upuszczać obiekty rysowalne w widokach projektu i XML w narzędziu Layout Editor.
- Wyświetlanie wersji alternatywnych: możesz teraz wyświetlać wersje alternatywne swoich zasobów, klikając dwukrotnie zasób w oknie Narzędzie. W tym widoku widać utworzone wersje i uwzględnione kwalifikatory.
- Widok kafelkowy i widok listy: możesz zmienić widok w oknie narzędziowym, aby wyświetlać 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 bibliotek współdzielonych .so w pliku APK, Android Studio sprawdzi, czy identyfikator kompilacji podanych plików symboli jest zgodny z identyfikatorem kompilacji bibliotek .so w pliku APK.
Jeśli skompilujesz biblioteki natywne w pliku APK z identyfikatorem kompilacji, Android Studio sprawdzi, czy identyfikator kompilacji w plikach symboli jest zgodny z identyfikatorem kompilacji w bibliotekach natywnych, i odrzuci pliki symboli, jeśli wystąpi niezgodność. Jeśli nie skompilujesz bibliotek z identyfikatorem kompilacji, podanie nieprawidłowych plików symboli może spowodować problemy z debugowaniem.
R8 domyślnie włączony
R8 integruje usuwanie cukru syntaktycznego, zmniejszanie, zaciemnianie, optymalizowanie i dexowanie w jednym kroku, co znacznie poprawia wydajność kompilacji. zauważalną poprawę wydajności kompilacji. R8 został wprowadzony w wtyczce Androida do obsługi Gradle w wersji 3.3.0 i jest teraz domyślnie włączony w projektach aplikacji i bibliotek Androida korzystających z wtyczki w wersji 3.4.0 lub nowszej.
Obraz poniżej przedstawia ogólny proces kompilacji przed wprowadzeniem R8.

Teraz dzięki R8 usuwanie cukru syntaktycznego, zmniejszanie, zaciemnianie, optymalizowanie i dexowanie (D8) są wykonywane w jednym kroku, jak pokazano poniżej.

Pamiętaj, że R8 jest zaprojektowany do współpracy z dotychczasowymi regułami ProGuard, więc prawdopodobnie nie musisz podejmować żadnych działań, aby korzystać z R8. Jednak ponieważ jest to inna technologia niż ProGuard, która została zaprojektowana specjalnie dla projektów Androida, zmniejszanie i optymalizacja mogą spowodować usunięcie kodu którego ProGuard mógł nie usunąć. W takiej sytuacji może być konieczne dodanie dodatkowych reguł, aby zachować ten kod w danych wyjściowych kompilacji.
Jeśli masz problemy z korzystaniem z R8, zapoznaj się z
najczęstszymi pytaniami dotyczącymi zgodności z R8
, aby sprawdzić, czy istnieje rozwiązanie Twojego problemu. Jeśli rozwiązanie nie jest udokumentowane,
prosimy o zgłoszenie błędu.
Aby wyłączyć R8, dodaj jeden z tych wierszy do pliku projektu
gradle.properties:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
Uwaga: jeśli w pliku build.gradle modułu aplikacji ustawisz wartość useProguard na false dla danego rodzaju kompilacji, wtyczka Androida do obsługi Gradle użyje R8 do zmniejszenia kodu aplikacji dla tego rodzaju kompilacji, niezależnie od tego, czy wyłączysz R8 w pliku gradle.properties projektu.
Edytor nawigacji obsługuje teraz wszystkie typy argumentów
Wszystkie typy argumentów obsługiwane przez komponent nawigacji są teraz obsługiwane w edytorze nawigacji. Więcej informacji o obsługiwanych typach znajdziesz w artykule Przekazywanie danych między miejscami docelowymi.
Ulepszenia w edytorze układu {:#layout-editor}
Panel Atrybuty w narzędziu Layout Editor został uproszczony do jednej strony z sekcjami, które można rozwinąć, aby wyświetlić atrybuty, które można skonfigurować. 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.
- Panel Atrybuty zawiera teraz też wskaźniki obok każdego atrybutu które są pełne, gdy wartość atrybutu jest odniesieniem do zasobu a puste w przeciwnym razie.
- Atrybuty z błędami lub ostrzeżeniami są teraz wyróżnione. Czerwone wyróżnienia wskazują błędy (np. gdy używasz nieprawidłowych wartości układu), a pomarańczowe – ostrzeżenia (np. gdy używasz wartości zakodowanych na stałe).
Nowa intencja umożliwiająca szybkie importowanie zależności
Jeśli zaczniesz używać w kodzie niektórych klas Jetpack i Firebase, nowa
intencja zasugeruje dodanie do
projektu wymaganej zależności biblioteki Gradle, jeśli jeszcze tego nie zrobisz. Jeśli na przykład odwołasz się do
klasy WorkManager bez wcześniejszego zaimportowania wymaganej
zależności android.arch.work:work-runtime, intencja pozwoli Ci to zrobić
jednym kliknięciem, jak pokazano poniżej.

W szczególności, ponieważ Jetpack przepakował bibliotekę pomocy w oddzielne pakiety, którymi łatwiej zarządzać i które łatwiej aktualizować, ta intencja pomaga szybko dodać tylko te zależności, które są potrzebne do używania komponentów Jetpack.