MinSdkVersion приложения новее, чем уровень API устройства (android-R)

У меня девайс с андроид версии 10.

Также у меня есть эмулятор с API 22

это часть моего файла build.gradle(:app):

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-kapt'

apply plugin: 'kotlin-android-extensions'

android {
    dataBinding {
        enabled = true
    }
    compileSdkVersion 'android-R'
    defaultConfig {
        applicationId "com.example.android.sOnline"
        minSdkVersion 17
        targetSdkVersion 'R'
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
//        android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true
    }
}

Он просто не работает на android-R

Спасибо за помощь мне:)

3 ответа

Решение

targetSdkVersion "R" ограничит работу вашего приложения только на Android R, искусственно повысив ваш minSdkVersion к R. Так было в течение последних нескольких лет: каждая предварительная версия для разработчиков поддерживает запуск приложения только в предварительной версии для разработчиков, а не на более старых устройствах.

Позже в этом году мы сможем перейти на использование targetSdkVersion 30, в этот момент возвращается нормальное поведение относительно minSdkVersion.

  1. Перейти к файлу build.gradle
  2. в defaultConfig: измените minSdk на 28 и targetSdk на 30

Я использую Samsung S9 Plus, у меня была такая же проблема, и теперь он работает.

      defaultConfig {
        applicationId "com.example.consigness"
        minSdk 28
        targetSdk 30
        versionCode 1
        versionName "1.0"

        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

Для меня это было то, что виртуальное устройство было повреждено, чтобы исправить это, выполните следующие действия:

  1. откройте диспетчер AVD в правом верхнем углу.
  2. удалить устройство из меню действий.
  3. создать новый.
  4. выберите новое устройство и запустите приложение.

В целях безопасности в будущем перед выходом из студии Android обязательно сначала закройте эмулятор.

Другие вопросы по тегам