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

Posted

技术标签:

【中文标题】应用程序的 minSdkVersion 比设备 API 级别(android-R)更新【英文标题】:The application's minSdkVersion is newer than the device API level (android-R) 【发布时间】:2020-07-16 05:31:45 【问题描述】:

我有一台 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”上不起作用

谢谢你帮助我:)

【问题讨论】:

【参考方案1】:

targetSdkVersion "R" 将通过人为地将您的 minSdkVersion 提高到 R 来限制您的应用只能在 Android R 上运行。过去几年一直如此:每个开发者预览版仅支持在开发者预览版本身上运行应用,而不支持在旧设备上运行。

今年晚些时候,我们将能够切换到使用targetSdkVersion 30,此时minSdkVersion 将恢复正常行为。

【讨论】:

@user1090751:我不知道你认为“问题”是什么。如果您想尝试使用targetSdkVersion 'R',可以这样做,但该应用无法安装在 Android 10 或更早版本的设备上。因此,您的实验需要与其他工作有所不同。这可以通过使用产品风味(一种普通风味,一种 R 风味)来实现。或者,也可以在版本控制系统中使用单独的开发分支。或者,也可以简单地复制您的项目并尝试使用该副本。【参考方案2】:

对我来说,虚拟设备已损坏,要修复此问题,请按以下步骤操作:

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

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

【讨论】:

以上是关于应用程序的 minSdkVersion 比设备 API 级别(android-R)更新的主要内容,如果未能解决你的问题,请参考以下文章

minSdkVersionmaxSdkVersiontargetSdkVersiontarget释义

增加了minSdkVersion,如何让用户知道?

minSdkVersion maxSdkVersion targetSdkVersion target 的区别

错误记录Android 应用导入 ijkplayer 报错 ( uses-sdk:minSdkVersion 19 cannot be smaller than version 21 decl )

更改 minSdkVersion 和 maxSdkVersion

在 Android 中升级 minSdkVersion 有啥影响?