Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Плагин Android Gradle 3.1.0 (март 2018 г.)
Для этой версии плагина для Android требуется следующее:
| Минимальная версия | Версия по умолчанию | Примечания |
---|
Грейдл | 4.4 | 4.4 | Более подробную информацию см. в разделе Обновление Gradle . |
Инструменты сборки SDK | 27.0.3 | 27.0.3 | Установите или настройте инструменты сборки SDK. Обратите внимание, что вам больше не нужно указывать версию инструментов сборки с помощью свойства android.buildToolsVersion — плагин по умолчанию использует минимально необходимую версию. |
Новый компилятор DEX, D8
По умолчанию Android Studio теперь использует новый компилятор DEX под названием D8. Компиляция DEX — это процесс преобразования байт-кода .class
в байт-код .dex
для среды выполнения Android (или Dalvik для старых версий Android). По сравнению с предыдущим компилятором DX, D8 компилирует быстрее и создаёт файлы DEX меньшего размера, обеспечивая при этом такую же или даже лучшую производительность выполнения приложения.
D8 не должен изменить ваш ежедневный процесс разработки приложений. Однако, если у вас возникнут какие-либо проблемы, связанные с новым компилятором, пожалуйста, сообщите об ошибке . Вы можете временно отключить D8 и использовать DX, добавив следующее в файл gradle.properties
вашего проекта:
android.enableD8=false
Для проектов, использующих функции языка Java 8 , инкрементальная десахаризация включена по умолчанию. Вы можете отключить её, указав следующее в файле gradle.properties
вашего проекта:
android.enableIncrementalDesugaring=false.
Для пользователей предварительной версии: если вы уже используете предварительную версию D8, обратите внимание, что теперь она компилируется с использованием библиотек, входящих в состав инструментов сборки SDK , а не JDK. Поэтому при обращении к API, которые есть в JDK, но отсутствуют в библиотеках инструментов сборки SDK, возникнет ошибка компиляции.
Изменения поведения
При сборке нескольких APK, каждый из которых ориентирован на отдельный ABI, больше не генерируются APK для следующих ABI по умолчанию: mips
, mips64
и armeabi
.
Если вы хотите собрать APK, ориентированные на эти ABI, необходимо использовать NDK r16b или ниже и указать ABI в файле build.gradle
, как показано ниже:
splits {
abi {
include 'armeabi', 'mips', 'mips64'
...
}
}
splits {
abi {
include("armeabi", "mips", "mips64")
...
}
}
Кэш сборки плагина Android теперь удаляет записи кэша, которые старше 30 дней.
Передача значения "auto"
в resConfig
больше не приводит к автоматическому выбору строковых ресурсов для упаковки в ваш APK. Если вы продолжите использовать "auto"
, плагин упакует все строковые ресурсы, предоставляемые вашим приложением и его зависимостями. Поэтому вместо этого вам следует указать каждую локаль, которую плагин должен упаковать в ваш APK.
Поскольку локальные модули не могут зависеть от тестового APK вашего приложения, добавление зависимостей в ваши инструментированные тесты с использованием конфигурации androidTestApi
вместо androidTestImplementation
приводит к тому, что Gradle выдает следующее предупреждение:
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
Исправления
- Исправлена ошибка, из-за которой Android Studio неправильно распознавала зависимости в составных сборках.
- Исправлена ошибка, из-за которой возникала ошибка синхронизации проекта при многократной загрузке плагина Android в одной сборке (например, когда каждый из нескольких подпроектов включал плагин Android в свой путь к классам buildscript).
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-09-04 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-09-04 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"]]