Kotlin DSL используется по умолчанию для конфигурации сборки.
Новые проекты теперь по умолчанию используют Kotlin DSL ( build.gradle.kts ) для настройки сборки. Это обеспечивает более удобные возможности редактирования, чем Groovy DSL ( build.gradle ), с подсветкой синтаксиса, завершением кода и переходом к объявлениям. Обратите внимание: если вы используете AGP 8.1 и Kotlin DSL для настройки сборки, для наилучшего результата вам следует использовать Gradle 8.1. Дополнительную информацию см. в руководстве по миграции Kotlin DSL .
Автоматическая языковая поддержка для каждого приложения
Начиная с Android Studio Giraffe Canary 7 и AGP 8.1.0-alpha07, вы можете настроить свое приложение для автоматической поддержки языковых настроек для каждого приложения . На основе ресурсов вашего проекта плагин Android Gradle создает файл LocaleConfig и добавляет ссылку на него в окончательный файл манифеста, поэтому вам больше не придется делать это вручную. AGP использует ресурсы в папках res модулей вашего приложения и любых зависимостях модулей библиотеки, чтобы определить локали, которые необходимо включить в файл LocaleConfig .
Обратите внимание, что функция автоматического выбора языка для каждого приложения поддерживает приложения под управлением Android 13 (уровень API 33) или выше. Чтобы использовать эту функцию, необходимо установить для compileSdkVersion значение 33 или выше. Чтобы настроить языковые предпочтения для каждого приложения для предыдущих версий Android, вам все равно придется использовать API и средства выбора языка в приложении .
Чтобы включить автоматическую поддержку языка для каждого приложения, укажите локаль по умолчанию:
В папке res модуля приложения создайте новый файл с именем resources.properties .
В файле resources.properties установите языковой стандарт по умолчанию с меткой unqualifiedResLocale . Чтобы сформировать названия локалей, объедините код языка с необязательными кодами алфавита и региона, разделяя их тире:
Язык: используйте двух- или трехбуквенный код ISO 639-1 .
Сценарий (необязательно): используйте код ISO 15924 .
Регион (необязательно): используйте либо двухбуквенный код ISO 3166-1-alpha-2 , либо трехзначный код UN_M.49 .
Например, если вашим языком по умолчанию является американский английский:
unqualifiedResLocale=en-US
AGP добавляет этот локаль по умолчанию и любые альтернативные локали, которые вы указали, используя values-* в папке res , в автоматически созданный файл LocaleConfig .
Автоматическая поддержка языка для каждого приложения отключена по умолчанию. Чтобы включить эту функцию, используйте параметр generateLocaleConfig в блоке androidResources {} файла build.gradle.kts уровня модуля (файл build.gradle , если вы используете Groovy):
Android Lint содержит байт-код, ориентированный на JVM 17
Начиная с AGP 8.1.0-alpha04, Android Lint содержит байт-код, предназначенный для JVM 17. Если вы пишете собственные проверки lint, вам необходимо скомпилировать с помощью JDK 17 или выше и указать jvmTarget = '17' в параметрах компилятора Kotlin.
Настройки сжатия встроенной библиотеки перенесены в DSL.
Начиная с AGP 8.1.0-alpha10, вы получите предупреждение, если не настроите сжатие собственной библиотеки с использованием DSL вместо манифеста. В следующем руководстве объясняется, как обновить конфигурацию для использования DSL. Чтобы получить помощь в установке этих обновлений, используйте Помощник по обновлению AGP ( Инструменты > Помощник по обновлению AGP ).
Чтобы использовать несжатые собственные библиотеки, удалите атрибут android::extractNativeLibs из манифеста и добавьте следующий код в файл build.gradle.kts уровня модуля (файл build.gradle , если вы используете Groovy):
Включение этого параметра без указания конфигураций подписи приводит к тому, что AGP будет использовать конфигурацию подписи отладки по умолчанию при запуске профилируемой или отлаживаемой сборки. Этот флаг отключен по умолчанию, чтобы побудить авторов сборки объявлять определенные конфигурации подписи профилирования.
android.experimental.library.desugarAndroidTest
АГП 8.0
false
Этот флаг позволяет сборщикам библиотек включить очистку основной библиотеки для тестовых APK, не затрагивая созданный AAR, например, посредством проверки. Мы планируем со временем поддержать это поведение в Variant API.
Если этот параметр включен, управляемые устройства Gradle позволяют использовать определяемый пользователем тип устройства, который может быть предоставлен плагином. Этот флаг должен быть включен, если вы хотите использовать плагин Firebase Test Lab.
android.lint.printStackTrace
АГП 8.0
false
Если этот параметр включен, Android lint печатает трассировку стека в случае сбоя. Этот флаг имеет те же возможности, что и переменная среды LINT_PRINT_STACKTRACE .
Указывает максимальное количество одновременных управляемых устройств Gradle (AVD), которые будут активны в любой момент времени. Если значение равно 0 или отрицательное, максимальное количество устройств не существует.
[AGP 8.1.0] Тест ./gradlew завершается неудачей с сообщением «Невозможно найти выходные данные манифеста», если оба файла Splits.abi.isEnable и testOptions.unitTests.isIncludeAndroidResources имеют значение true
[AGP 8.1.0] Тест ./gradlew завершается неудачей с сообщением «Невозможно найти выходные данные манифеста», если оба файла Splits.abi.isEnable и testOptions.unitTests.isIncludeAndroidResources имеют значение true
Не запускайте задачу dexing для классов подпроектов, если они уже обработаны с помощью преобразований артефактов.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2024-11-21 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"]],["Последнее обновление: 2024-11-21 UTC."],[],[]]