Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Wtyczka Androida do obsługi Gradle w wersji 3.1.0 (marzec 2018 r.)
Ta wersja wtyczki Androida wymaga:
|
Wersja minimalna |
Wersja domyślna |
Uwagi |
Gradle |
4.4 |
4.4 |
Więcej informacji znajdziesz w sekcji Aktualizowanie Gradle. |
SDK Build Tools |
27.0.3 |
27.0.3 |
Zainstaluj lub skonfiguruj narzędzia do kompilacji pakietu SDK. Pamiętaj, że nie musisz już określać wersji narzędzi do kompilacji za pomocą właściwości android.buildToolsVersion – wtyczka 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
na potrzeby środowiska wykonawczego Androida (lub Dalvik w starszych wersjach Androida). W porównaniu z poprzednim kompilatorem DX kompilator D8 działa szybciej i generuje mniejsze pliki DEX, a przy tym zapewnia taką samą lub lepszą wydajność aplikacji w czasie działania.
D8 nie powinien zmieniać codziennego procesu tworzenia aplikacji. Jeśli jednak napotkasz problemy związane z nowym kompilatorem, zgłoś błąd. Możesz tymczasowo wyłączyć D8 i używać DX, dodając do pliku gradle.properties
projektu ten kod:
android.enableD8=false
W przypadku projektów, które korzystają z funkcji języka Java 8, przyrostowe odcukrzanie jest domyślnie włączone. Możesz ją wyłączyć, podając w pliku gradle.properties
projektu to polecenie:
android.enableIncrementalDesugaring=false.
Użytkownicy wersji podglądowej: jeśli używasz już wersji podglądowej D8, pamiętaj, że jest ona teraz kompilowana z bibliotekami zawartymi w narzędziach do kompilacji pakietu SDK, a nie w JDK.
Jeśli więc uzyskujesz dostęp do interfejsów API, które istnieją w JDK, ale nie w bibliotekach narzędzi do kompilacji pakietu SDK, pojawi się błąd kompilacji.
Zmiany w działaniu
-
Podczas tworzenia wielu plików APK, z których każdy jest kierowany na inny interfejs ABI, domyślnie nie generuje już plików APK dla tych interfejsów: mips
, mips64
i armeabi
.
Jeśli chcesz utworzyć pliki APK przeznaczone na te interfejsy ABI, musisz użyć NDK w wersji r16b lub starszej i określić interfejsy ABI w pliku build.gradle
, jak pokazano poniżej:
splits {
abi {
include 'armeabi', 'mips', 'mips64'
...
}
}
splits {
abi {
include("armeabi", "mips", "mips64")
...
}
}
-
Wtyczka Androida pamięć podręczna kompilacji usuwa teraz wpisy starsze niż 30 dni.
-
Przekazywanie wartości "auto"
do
resConfig
nie powoduje już automatycznego wybierania zasobów ciągów znaków do spakowania w pliku APK.
Jeśli nadal będziesz używać "auto"
, wtyczka spakuje wszystkie zasoby ciągów znaków, które udostępnia Twoja aplikacja i jej zależności. Zamiast tego określ każdą wersję językową, którą chcesz spakować do pliku APK.
-
Moduły lokalne nie mogą zależeć od testowego pliku APK aplikacji, więc dodanie zależności do testów instrumentalnych za pomocą konfiguracji androidTestApi
zamiast androidTestImplementation
spowoduje wyświetlenie przez Gradle tego ostrzeżenia:
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
Poprawki
- Rozwiązuje problem polegający na tym, że Android Studio nie rozpoznaje prawidłowo zależności w kompozytowych kompilacjach.
- Rozwiązuje problem, który powodował błąd synchronizacji projektu podczas wielokrotnego wczytywania wtyczki Androida w ramach jednej kompilacji, np. gdy wiele podprojektów zawierało wtyczkę Androida w ścieżce klasy skryptu kompilacji.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-09-03 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-09-03 UTC."],[],[],null,["\u003cbr /\u003e\n\nAndroid Gradle Plugin 3.1.0 (March 2018)\n\nThis version of the Android plugin requires the following:\n\n| | Minimum version | Default version | Notes |\n|----------------:|:---------------:|:---------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| Gradle | 4.4 | 4.4 | To learn more, see [updating Gradle](/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). |\n| SDK Build Tools | 27.0.3 | 27.0.3 | [Install](/studio/intro/update#sdk-manager) or [configure](/tools/releases/build-tools) SDK Build Tools. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion property---the plugin uses the minimum required version by default. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nNew DEX compiler, D8\n\nBy default, Android Studio now uses a new DEX compiler called D8. DEX\ncompilation is the process of transforming `.class` bytecode into\n`.dex` bytecode for the Android Runtime (or Dalvik, for older\nversions of Android). Compared to the previous compiler, called DX, D8\ncompiles faster and outputs smaller DEX files, all while having the same or\nbetter app runtime performance.\n\nD8 shouldn't change your day-to-day app development workflow. However, if\nyou experience any issues related to the new compiler, please\n[report a bug](/studio/report-bugs). You can temporarily\ndisable D8 and use DX by including the following in your project's\n`gradle.properties` file: \n\n android.enableD8=false\n \nFor projects that\n[use Java 8 language features](/studio/write/java8-support),\nincremental desugaring is enabled by default. You can disable it by\nspecifying the following in your project's `gradle.properties` file: \n\n android.enableIncrementalDesugaring=false.\n \n\n**Preview users:** If you're already using a preview version of D8, note\nthat it now compiles against libraries included in the\n[SDK build tools](/studio/releases/build-tools)---not the JDK.\nSo, if you are accessing APIs that exist in the JDK but not in the SDK build\ntools libraries, you get a compile error.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nBehavior changes\n\n- When building multiple APKs that each target a different ABI, the\n no longer generates APKs for the following ABIs by default:\n `mips`, `mips64`, and `armeabi`.\n\n If you want to build APKs that target these ABIs, you must use\n [NDK r16b or lower](/ndk/downloads/revision_history) and\n specify the ABIs in your `build.gradle` file, as shown below: \n\n ```groovy\n splits {\n abi {\n include 'armeabi', 'mips', 'mips64'\n ...\n }\n }\n \n ``` \n\n ```kotlin\n splits {\n abi {\n include(\"armeabi\", \"mips\", \"mips64\")\n ...\n }\n }\n \n ```\n- The Android plugin's [build\n cache](/studio/build/build-cache) now evicts cache entries that are older than 30 days.\n\n- Passing `\"auto\"` to\n [`resConfig`](https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavor:resConfig(java.lang.String))\n no longer automatically picks string resources to package into your APK.\n If you continue to use `\"auto\"`, the plugin packages all string\n resources your app and its dependencies provide. So, you should instead\n specify each locale that you want the plugin to package into your APK.\n\n- Because local modules can't depend on your app's test APK, adding\n dependencies to your instrumented tests using the\n `androidTestApi` configuration, instead of\n `androidTestImplementation`, causes Gradle to issue the\n following warning:\n\n ```groovy\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ``` \n\n ```kotlin\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nFixes\n\n- Fixes an issue where Android Studio doesn't properly recognize dependencies in composite builds.\n- Fixes an issue where you get a project sync error when loading the Android plugin multiple times in a single build--for example, when multiple subprojects each include the Android plugin in their buildscript classpath.\n\n\u003cbr /\u003e"]]