应用程序的 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 maxSdkVersion targetSdkVersion target 的区别
错误记录Android 应用导入 ijkplayer 报错 ( uses-sdk:minSdkVersion 19 cannot be smaller than version 21 decl )