Android Studio 3.2 (wrzesień 2018 r.)

Android Studio 3.2 to duża wersja z wieloma nowymi funkcjami i ulepszeniami.

3.2.1 (październik 2018 r.)

Ta aktualizacja Androida Studio 3.2 obejmuje te zmiany i poprawki:

  • Dołączona wersja Kotlin to teraz 1.2.71.
  • Domyślna wersja narzędzi do kompilacji to teraz 28.0.3.
  • W bibliotece nawigacji typy argumentów zostały zmienione z type na argType.
  • Naprawiliśmy następujące błędy:
    • Podczas korzystania z biblioteki powiązań danych nazwy zmiennych ze podkreśleniami powodowały błędy kompilacji.
    • Proces CMake powodował awarię usługi IntelliSense i innych funkcji CLion.
    • Dodanie zasobu SliceProvider powodowało błędy kompilacji w projektach, które nie korzystały z bibliotek androidx.*.
    • Niektóre testy jednostkowe Kotlin nie zostały uruchomione.
    • Problem z powiązaniem danych spowodował błąd PsiInvalidElementAccessException.
    • <merge> elementu powodowało awarię edytora układu.

3.2.0 znane problemy

Uwaga: te problemy zostały rozwiązane w Android Studio w wersji 3.2.1

  • Zdecydowanie odradzamy korzystanie z Kotlin w wersji 1.2.70.

    Kotlin w wersji 1.2.61 zawiera poprawkę błędu, który może powodować zawieszenie Androida Studio, ale Kotlin 1.2.70 go nie zawiera.

    Kotlin w wersji 1.2.71 i nowszych uwzględnia jednak tę poprawkę.

  • Chociaż zazwyczaj nie musisz określać wersji narzędzi do kompilacji, jeśli używasz wtyczki Androida do obsługi Gradle w wersji 3.2.0 z atrybutem renderscriptSupportModeEnabled ustawionym na true, w pliku build.gradle każdego modułu musisz umieścić te informacje:

    android.buildToolsVersion "28.0.3"

Co nowego w Asystencie

Nowy asystent informuje o najnowszych zmianach w Android Studio.

Asystent uruchamia się po uruchomieniu Androida Studio po odinstalowaniu lub aktualizacji, gdy wykryje, że są dostępne nowe informacje. Asystenta możesz też otworzyć, wybierając Pomoc > Co nowego w Android Studio.

Jetpack na Androida

Android Jetpack pomaga przyspieszyć tworzenie aplikacji na Androida dzięki komponentom, narzędziom i wskazówkom, które eliminują powtarzalne zadania i pozwalają szybciej i łatwiej tworzyć wysokiej jakości aplikacje, które można przetestować. Android Studio zawiera opisane poniżej aktualizacje umożliwiające obsługę Jetpacka. Więcej informacji znajdziesz w dokumentacji Jetpacka.

Nowy edytor nawigacji integruje się z komponentami nawigacji na Androidzie Jetpack, umożliwiając tworzenie w sposób graficzny struktury nawigacyjnej aplikacji. Edytor nawigacji upraszcza projektowanie i implementację nawigacji między miejscami docelowymi w aplikacji.

W Android Studio 3.2 edytor nawigacji to funkcja eksperymentalna. Aby włączyć edytor nawigacji, kliknij Plik > Ustawienia (Android Studio > Ustawienia na Macu), wybierz w lewym panelu kategorię Eksperymentalne, zaznacz pole Włącz edytor nawigacji i ponownie uruchom Android Studio.

Więcej informacji znajdziesz w dokumentacji Edytora nawigacji.

Migracja AndroidX

W ramach Jetpacka przenosimy biblioteki pomocy na Androida do nowej biblioteki rozszerzeń na Androida korzystającej z przestrzeni nazw androidx. Więcej informacji znajdziesz w omówieniu AndroidaX.

Android Studio 3.2 pomaga Ci w tym procesie dzięki nowej funkcji migracji.

Aby przenieść istniejący projekt na AndroidaX, wybierz Refaktor > Przenieś na AndroidaX. Jeśli masz jakieś zależności Maven, które nie zostały przeniesione do przestrzeni nazw AndroidX, system kompilacji Android Studio również automatycznie konwertuje te 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: jeśli ustawisz wartość true, ta flaga oznacza, że chcesz od teraz zacząć korzystać z AndroidaX. Jeśli flaga nie jest określona, Android Studio działa tak, jakby flaga była ustawiona na false.
  • android.enableJetifier: gdy ustawiona jest wartość true, ta flaga oznacza, że chcesz zapewnić obsługę narzędzi (z wtyczki Androida do obsługi Gradle), aby automatycznie konwertować istniejące biblioteki innych firm tak, jakby były napisane na AndroidaX. Jeśli flaga nie jest określona, Android Studio działa tak, jakby flaga była ustawiona na false.

Gdy używasz polecenia Przenieś na AndroidaX, obie flagi są ustawione na true.

Jeśli chcesz od razu zacząć korzystać z bibliotek AndroidX i nie musisz konwertować istniejących bibliotek zewnętrznych, możesz ustawić flagę android.useAndroidX na true, a flagę android.enableJetifier na false.

(pakiet) Android App Bundle

Android App Bundle to nowy format przesyłania obejmujący cały skompilowany kod i zasoby aplikacji, ale opóźnia generowanie plików APK i podpisywanie ich w Sklepie Google Play.

Nowy model obsługi aplikacji w Google Play wykorzystuje Twój pakiet aplikacji do generowania i udostępniania zoptymalizowanych plików APK dla konfiguracji urządzeń każdego użytkownika. Dzięki temu każdy użytkownik pobiera tylko kod i zasoby niezbędne do uruchomienia aplikacji. Nie musisz już tworzyć i podpisywać wielu plików APK ani nimi zarządzać, a użytkownicy będą otrzymywać mniejsze, lepiej zoptymalizowane pliki do pobrania.

Dodatkowo możesz dodawać moduły funkcji do projektu aplikacji i uwzględniać je w pakiecie aplikacji. Użytkownicy będą mogli pobierać i instalować funkcje aplikacji na żądanie.

Aby utworzyć pakiet, wybierz Build > Build Bundle / APK(s) > Build Bundle.

Więcej informacji, w tym instrukcje tworzenia i analizowania pakietu Android App Bundle, znajdziesz w artykule Android App Bundle.

Przykładowe dane w edytorze układu

Wiele układów Androida zawiera dane w czasie działania, które mogą utrudniać wizualizację wyglądu i stylu na etapie projektowania aplikacji. Możesz teraz łatwo zobaczyć podgląd widoku w Edytorze układu, który zawiera przykładowe dane. Gdy dodasz widok, pod nim w oknie projektu pojawi się przycisk . Kliknij ten przycisk, aby ustawić atrybuty widoku danych w czasie projektowania. Możesz wybierać spośród wielu szablonów przykładowych danych i określać liczbę przykładowych elementów, które mają zostać wypełnione w widoku.

Aby spróbować użyć przykładowych danych, dodaj RecyclerView do nowego układu, kliknij przycisk atrybutów czasu projektowania pod widokiem i wybierz opcję z karuzeli szablonów przykładowych danych.

Wycinki

Wycinki zapewniają nowy sposób umieszczania fragmentów funkcji aplikacji w innych interfejsach Androida. Wycinki umożliwiają na przykład wyświetlanie funkcji i treści aplikacji w sugestiach wyszukiwarki Google.

Android Studio 3.2 ma wbudowany szablon, który pomoże Ci rozszerzyć aplikację o nowe interfejsy Slice Provider API, a także nowe testy lintowania, aby mieć pewność, że podczas tworzenia wycinków postępujesz zgodnie ze sprawdzonymi metodami.

Aby rozpocząć, kliknij prawym przyciskiem myszy folder projektu i wybierz Nowy > Inne > Dostawca wycinka.

Więcej informacji, m.in. o sposobie testowania interakcji z wycinkami, znajdziesz w przewodniku dla początkujących.

Kotlin 1.2.61

Android Studio 3.2 zawiera pakiet Kotlin w wersji 1.2.61, a nowy pakiet Android SDK lepiej integruje się z tą usługą. Więcej informacji znajdziesz na blogu dla deweloperów aplikacji na Androida.

IntelliJ IDEA 2018.1.6

Podstawowe środowisko IDE Android Studio zostało zaktualizowane o ulepszenia wprowadzone w wersji IntelliJ IDEA do wersji 2018.1.6.

Programy profilujące Androida

Wypróbuj nowe funkcje profilowania na Androida w Android Studio 3.2.

Sesje

Możesz teraz zapisywać dane z programu profilującego jako sesje, aby je później przeglądać i sprawdzać. Program profilujący przechowuje dane sesji do momentu ponownego uruchomienia IDE.

Gdy rejestrujesz ślad metody lub przechwytujesz zrzut stosu, IDE dodaje te dane (wraz z aktywnością aplikacji w sieci) jako oddzielny wpis dla bieżącej sesji. Możesz łatwo przełączać się między nagraniami w celu porównywania danych.

Śledzenie systemu

W sekcji CPU Profiler (Program profilujący procesora) wybierz nową konfigurację Systemu Trace, aby sprawdzić aktywność procesora systemowego urządzenia i aktywność wątków. Ta konfiguracja śledzenia jest oparta na systrace i przydaje się przy badaniu problemów na poziomie systemu, takich jak zacinanie się interfejsu.

Podczas korzystania z tej konfiguracji śledzenia możesz wizualnie oznaczyć ważne procedury kodu na osi czasu programu profilującego, instrumentując kod C/C++ za pomocą natywnego interfejsu API śledzenia lub kodu Java za pomocą klasy Trace.

Sprawdzanie odwołań 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ł pamięci dla kodu JNI aplikacji za pomocą programu profilującego pamięci.

Gdy aplikacja jest uruchomiona, wybierz fragment osi czasu, który chcesz sprawdzić, i wybierz stertę JNI z menu nad listą klas, jak pokazano poniżej. Możesz teraz w normalny sposób badać obiekty na stercie i kliknąć dwukrotnie obiekty na karcie Stos wywołań alokacji, aby zobaczyć, gdzie w kodzie są przydzielane i zwalniane odwołania do JNI.

Importowanie, eksportowanie i sprawdzanie plików zrzutu pamięci

Teraz możesz importować, eksportować i sprawdzać pliki zrzutu stosu pamięci .hprof utworzone przy użyciu programu do profilowania pamięci.

Zaimportuj plik .hprof, klikając Rozpocznij nową sesję programu profilującego w panelu Sesje programu profilującego, a następnie wybierz Wczytaj z pliku. Możesz potem sprawdzić jego dane w narzędziu Memory Profiler tak samo jak w przypadku każdego innego zrzutu stosu.

Aby zapisać dane zrzutu stosu do późniejszego sprawdzenia, użyj przycisku Eksportuj zrzut sterty po prawej stronie wpisu Heap Dump w panelu Sesje. W wyświetlonym oknie Eksportuj jako zapisz plik z rozszerzeniem .hprof.

Rejestrowanie aktywności procesora podczas uruchamiania aplikacji

Możesz teraz rejestrować aktywność procesora podczas uruchamiania aplikacji w ten sposób:

  1. W menu głównym wybierz Uruchom > Edytuj konfiguracje.
  2. Na karcie Profiling wybranej konfiguracji uruchomienia zaznacz pole wyboru Rozpocznij rejestrowanie śledzenia metody podczas uruchamiania.
  3. Wybierz z menu konfigurację rejestrowania procesora, której chcesz użyć.
  4. 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ą narzędzia CPU Profiler możesz wyeksportować dane jako plik .trace, aby udostępnić je innym lub sprawdzić później.

Aby wyeksportować log czasu po zarejestrowaniu aktywności procesora:

  1. Kliknij prawym przyciskiem myszy nagranie, które chcesz wyeksportować z osi czasu procesora.
  2. W menu wybierz Eksportuj log czasu.
  3. Przejdź do miejsca, w którym chcesz zapisać plik, i kliknij Zapisz.

Importowanie i sprawdzanie plików śledzenia procesora

Możesz teraz importować i sprawdzać pliki .trace utworzone za pomocą Debug API lub programu profilującego procesora. (Obecnie nie możesz importować nagrań systemu Trace).

Zaimportuj plik śledzenia, klikając Rozpocznij nową sesję programu profilującego w panelu Sesje programu profilującego, a następnie wybierz Wczytaj z pliku. Możesz potem sprawdzić jego dane w narzędziu do profilowania procesora w podobny sposób jak zwykle, z tymi wyjątkami:

  • Aktywność procesora nie jest reprezentowana na osi czasu.
  • Oś czasu aktywności wątku wskazuje tylko miejsca, w których są dostępne dane śledzenia dla każdego wątku, a nie rzeczywiste stany wątków (np. działanie, oczekiwanie lub uśpienie).

Rejestrowanie aktywności procesora przy użyciu interfejsu Debug API

Możesz teraz uruchamiać i zatrzymywać rejestrowanie aktywności procesora w narzędziu do profilowania procesora, instrumentując aplikację za pomocą interfejsu Debug API. Po wdrożeniu aplikacji na urządzeniu program profilujący automatycznie zaczyna rejestrować aktywność CPU, gdy aplikacja wywołuje metodę startMethodTracing(String tracePath), a program profilujący przestaje rejestrować, gdy aplikacja wywołuje metodę stopMethodTracing(). Podczas rejestrowania aktywności procesora aktywowanej za pomocą tego interfejsu API program profilujący CPU wyświetla jako wybraną konfigurację rejestrowania procesora pole Debug API.

Program profilujący energię

Program profilujący energię wyświetla wizualizację szacowanego zużycia energii przez aplikację, a także zdarzeń systemowych wpływających na zużycie energii, np. blokad wybudzenia, alarmów i zadań.

Narzędzie do profilu energetycznego wyświetla się jako nowy wiersz u dołu okna Profiler, gdy uruchamiasz aplikację na połączonym urządzeniu lub w emulatorze Androida z Androidem 8.0 (API 26) lub nowszym.

Kliknij wiersz Energia, aby zmaksymalizować widok narzędzia Energy Profiler. Najedź kursorem na słupek na osi czasu, aby wyświetlić zestawienie zużycia energii według procesora, sieci i lokalizacji (GPS), a także odpowiednich zdarzeń systemowych.

Zdarzenia systemowe, które wpływają na zużycie energii, są wymienione na osi czasu System pod osią czasu Energia. Szczegóły zdarzeń systemowych z określonego zakresu czasowego są wyświetlane w panelu zdarzeń po wybraniu zakresu czasu na osi czasu Energia.

Aby wyświetlić stos wywołań i inne szczegóły zdarzenia systemowego, np. blokady wybudzenia, wybierz je w panelu zdarzeń. Aby przejść do kodu odpowiedzialnego za zdarzenie systemowe, kliknij dwukrotnie wpis w stosie wywołań.

Likwidacja litrów

Android Studio 3.2 zawiera wiele nowych i ulepszonych funkcji sprawdzania linsk.

Nowe testy lintacyjne pomagają znaleźć i zidentyfikować typowe problemy z kodem, od ostrzeżeń o potencjalnych problemach z obsługą po błędy o wysokim priorytecie dotyczące potencjalnych luk w zabezpieczeniach.

Testy Lint pod kątem interoperacyjności Javy z Kotlin

Aby mieć pewność, że Twój kod w Javie będzie dobrze współdziałał z kodem Kotlin, nowe testy lintowania egzekwują sprawdzone metody opisane w przewodniku Kotlin Interop. Przykłady takich testów obejmują sprawdzenie, czy występują adnotacje nullability, użycie twardych słów kluczowych Kotlin czy umieszczenie parametrów lambda na końcu.

Aby włączyć te testy, kliknij Plik > Ustawienia (Android Studio > Ustawienia na Macu) i otwórz okno Ustawienia, przejdź do sekcji Edytor > Inspekcje > Android > Lint > Współdziałanie > Współdziałanie Kotlin i wybierz reguły, które chcesz włączyć.

Aby włączyć te sprawdzanie kompilacji wiersza poleceń, dodaj ten kod do pliku build.gradle:

        android {
            lintOptions {
                check 'Interoperability'
            }
        }
        
      

Sprawdzanie liści na wycinkach

Nowe testy lintowania wycinków pomagają zapewnić prawidłowe tworzenie wycinków. Na przykład testy lintowania ostrzegają, jeśli do wycinka nie zostało przypisane działanie główne.

Nowa wartość docelowa Gradle

Użyj nowego zadania Gradle lintFix, aby zastosować wszystkie bezpieczne poprawki sugerowane przez testy lintowania bezpośrednio do kodu źródłowego. Przykład sprawdzenia lintera sugerującego bezpieczną poprawkę, którą można zastosować, to SyntheticAccessor.

Aktualizacje metadanych

Różne metadane, takie jak sprawdzanie przesyłania danych usługi, zostały zaktualizowane pod kątem zgodności z testami lintowymi, aby działały z Androidem 9 (poziom interfejsu API 28).

Ostrzeżenie w przypadku korzystania z lintowania na nowym wariancie

Lint rejestruje teraz, z którym wariantem i wersją jest rejestrowany punkt odniesienia, a lint ostrzega, jeśli zastosujesz go na innym wariancie niż ten, za pomocą którego utworzono punkt odniesienia.

Ulepszenia istniejących kontroli lintowania

Android Studio 3.2 zawiera wiele ulepszeń istniejących mechanizmów sprawdzania lintek. Na przykład sprawdzanie cyklu zasobów ma teraz zastosowanie do dodatkowych typów zasobów, a wzorzec do wykrywania translacji może na bieżąco znajdować w edytorze brakujące tłumaczenia.

Łatwiejsze do znalezienia identyfikatory problemów

Identyfikatory problemów są teraz wyświetlane w większej liczbie miejsc, w tym w oknie Wyniki inspekcji. Ułatwia to znajdowanie informacji potrzebnych do włączenia lub wyłączenia określonych testów w usłudze lintOptions w build.gradle.

Więcej informacji znajdziesz w artykule o konfigurowaniu opcji lint za pomocą Gradle.

Wiązanie danych (wersja 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 zależności bibliotek skompilowane z wersją 1, możesz ich używać w projektach korzystających z usługi Data Binding V2. Pamiętaj jednak, że projekty korzystające z wersji 1 nie mogą wykorzystywać zależności skompilowanych do wersji 2.

Odurzenie D8

W Android Studio 3.1 zintegrowaliśmy proces usuwania w narzędziu D8 funkcji eksperymentalnej, co zmniejszyło ogólny czas kompilacji. W Androidzie Studio 3.2 odinstalowanie w wersji D8 jest domyślnie włączone.

Nowy reduktor kodu

R8 to nowe narzędzie do kompresowania i zaciemniania kodu, które zastępuje ProGuard. Aby zacząć korzystać z wersji testowej R8, umieść ten kod w pliku gradle.properties projektu:

      android.enableR8 = true
    

Zmieniono domyślne interfejsy ABI dla wielu plików APK.

Gdy kompilujesz wiele plików APK, z których każdy jest kierowany na inny interfejs ABI, wtyczka nie generuje już domyślnie plików APK dla tych interfejsów ABI: mips, mips64 i armeabi.

Jeśli chcesz tworzyć pliki APK kierowane na te interfejsy ABI, musisz użyć NDK r16b lub starszego i określić interfejsy ABI w pliku build.gradle w ten sposób:

    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 w wersji RC1 i nowszych.

Ulepszone funkcje edytora plików kompilacji CMake

Jeśli używasz narzędzia CMake, aby dodać do projektu kod w językach C lub C++, Android Studio zawiera teraz ulepszone funkcje edytora ułatwiające edytowanie skryptów kompilacji CMake, takie jak:

  • Wyróżnianie składni i uzupełnianie kodu: IDE wyróżnia i sugeruje uzupełnienie kodu w przypadku popularnych poleceń CMake. Możesz także przejść do pliku, klikając go podczas naciśnięcia klawisza Ctrl (Command na Macu).
  • Ponowne formatowanie kodu: możesz teraz korzystać z opcji zmiany formatu kodu IntelliJ, aby stosować style kodu do skryptów kompilacji CMake.
  • Bezpieczne refaktoryzowanie: wbudowane narzędzia refaktoryzacyjne IDE sprawdzają teraz również, czy zmieniasz nazwy i usuwasz pliki, do których odwołujesz się w skryptach kompilacji CMake.

Podczas korzystania z okna Projekt w poprzednich wersjach Android Studio można było przechodzić i sprawdzać tylko pliki nagłówka należące do bibliotek utworzonych przez Ciebie z projektu lokalnego. W tej wersji możesz też wyświetlać i sprawdzać pliki nagłówka uwzględnione w zewnętrznych zależnościach bibliotek C/C++, które importujesz do projektu aplikacji.

Jeśli dołączasz do projektu kod i biblioteki C/C++, otwórz okno Projekt po lewej stronie IDE, wybierając z głównego menu Widok > Okna narzędziowe > Projekt, a następnie z menu wybierz Android. W katalogu cpp wszystkie nagłówki znajdujące się w zakresie projektu aplikacji są uporządkowane w węźle include dla każdego lokalnego zależności biblioteki C/C++, jak pokazano poniżej.

Natywny multidex jest domyślnie włączony

Poprzednie wersje Android Studio korzystały z natywnej funkcji multidex podczas wdrażania aplikacji do debugowania na urządzeniu z interfejsem Android API na poziomie 21 lub wyższym. Teraz, niezależnie od tego, czy wdrażasz to urządzenie na urządzeniu, czy tworzysz pakiet APK do publikacji, wtyczka na Androida do obsługi Gradle umożliwia obsługę natywnego multidex we wszystkich modułach, które mają ustawiony pakiet minSdkVersion=21 lub wyższy.

AAPT2 zostało przeniesione do repozytorium Google Maven

Począwszy od Androida Studio 3.2 źródłem AAPT2 (Android Asset Packaging Tool 2) jest repozytorium Google Maven.

Aby użyć AAPT2, sprawdź, czy w pliku build.gradle znajduje się zależność google(), jak pokazano 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 spoza ASCII w systemie Windows.

Usuwanie konfiguracji na żądanie

Ustawienie Skonfiguruj na żądanie zostało usunięte z Android Studio.

Android Studio nie przekazuje już argumentu --configure-on-demand do Gradle.

Asystent połączeń ADB

Nowy asystent połączenia ADB zawiera szczegółowe instrukcje konfigurowania urządzenia i korzystania z niego przez połączenie Android Debug Bridge (ADB).

Aby uruchomić Asystenta, wybierz Narzędzia > Asystent połączeń.

Asystent połączeń ADB podaje instrukcje, dostępne w kontekście elementy sterujące i listę połączonych urządzeń na serii stron w panelu Asystenta.

Ulepszenia emulatora

Teraz w dowolnym momencie możesz zapisywać i wczytywać zrzuty AVD (wirtualnego urządzenia z Androidem) w emulatorze Androida. Dzięki temu możesz szybko i łatwo przywrócić emulowane urządzenie do znanego stanu do przetestowania. Gdy edytujesz plik AVD za pomocą Menedżera AVD, możesz określić, który zrzut AVD ma być ładowany po uruchomieniu AVD.

Elementy sterujące zapisywaniem i wczytywaniem zrzutów AVD oraz zarządzanie nimi znajdują się teraz na karcie Zrzuty dysku w oknie Rozszerzone elementy sterujące emulatora.

Szczegółowe informacje znajdziesz w sekcji Zrzuty dysku.

Więcej informacji o nowościach i zmianach w emulatorze znajdziesz w artykule Informacje o wersji emulatora.