Не удалось найти SDK платформы с путем: платформы;android-31
Я собирался обновить SDK поддержки до последней версии Android, которая является SDK 31 «S», но у него есть некоторые проблемы с синхронизацией Gradle.
Ошибка
Не удалось уведомить слушателя сборки.
Не удалось разрешить все зависимости для конфигурации ": app: debugRuntimeClasspath". Не удалось создать задачу ':app:minifyDebugWithR8'. Невозможно запросить значение этого поставщика, потому что у него нет доступного значения. Не удалось остановить службу com.android.build.gradle.internal.errors.SyncIssueReporterImpl$GlobalSyncIssueService_5d47b2c0-a1a4-43ab-bbdb-bb6abdacb3ba. Не удалось найти SDK платформы с путем: платформы;android-31
Это установка
compileSdk 31
defaultConfig {
applicationId "com.app.app
minSdk 21
targetSdk 31
versionCode 7
versionName "1.0.9"
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Уже использую последнюю версию AGP
com.android.tools.build:gradle:7.1.0-alpha01
Также уже установите инструменты предварительного просмотра Android "S".
Наконец, уже есть предварительная версия последней версии AS
Android Studio Bumblebee | 2021.1.1 Canary 1Build #AI-203.7717.56.2111.7361063, построен 14 мая 2021 г.
Следуя документации, тоже не работает.
No signature of method: build_cdzmabn9imuzupf8f433s2vnq.android() is applicable for argument types: (build_cdzmabn9imuzupf8f433s2vnq$_run_closure1) values: [build_cdzmabn9imuzupf8f433s2vnq$_run_closure1@6f573027]
Синхронизация Gradle успешна с
compileSdkPreview "android-S"
targetSdkPreview "S"
Но приложение вообще не может быть установлено ни на одном устройстве, ни на выпуске, ни на отладке.
Что еще нам делать?
2 ответа
Вам следует внимательно прочитать документ о миграции, предоставленный Google: https://developer.android.com/about/versions/12/migration
Google обычно не хочет, чтобы вы обновляли свой продукт в производственной среде до того, как SDK достигнет стабильности платформы (см. Временную шкалу здесь), а скорее тестирует его локально. Как только последние API будут завершены, они ожидают, что большинство приложений обновят
targetSdkVersion
чтобы сказать, что они подтверждают, что это приложение совместимо с данным уровнем SDK. В последнее время Google начал применять льготный период продолжительностью около года, прежде чем они начнут требовать, чтобы все новые приложения были нацелены на последнюю версию SDK.
Понижение версии compileSdk и targetSdk до 30 с 31 решило мою проблему. Это не рекомендуется. Но используйте его в экстренных случаях. Удачного кодирования <3