应用程序的 minSdkVersion 比设备 API 级别 (android-R) 更新

The application's minSdkVersion is newer than the device API level (android-R)

我有一个 android 版本 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'

上不起作用

谢谢你帮助我:)

targetSdkVersion "R" 将通过人为地将您的 minSdkVersion 提高到 R,将您的应用限制在 Android R 上仅 运行。过去几年就是这种情况:每个开发者预览版仅支持 运行 开发者预览版本身的应用程序,不支持旧设备。

今年晚些时候,我们将能够切换到使用 targetSdkVersion 30,届时相对于 minSdkVersion.

的正常行为 returns

对我来说,是虚拟设备损坏了,要解决这个问题,请按照以下步骤操作:

  1. 从右上角打开 AVD 管理器。
  2. 从操作菜单中删除设备。
  3. 新建一个。
  4. 选择新设备和运行您的应用程序。

为了以后的安全,在退出 android 工作室之前,请务必先关闭模拟器。

  1. 转到 build.gradle 文件
  2. 在默认配置中:将 minSdk 更改为 28,将 targetSdk 更改为 30

我用的是三星s9 plus,有同样的问题,现在可以了

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

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