【问题标题】:minSdkVersion is newer than the device API Level error while installing app安装应用程序时 minSdkVersion 比设备 API 级别错误
【发布时间】:2021-09-05 20:29:50
【问题描述】:

我正在使用 API 级别 30 的 Android 手机中安装目标 sdk 版本为 android S 的 Android 应用。我的应用默认配置设置如下

compileSdkVersion 'android-S'
buildToolsVersion "30.0.3"

defaultConfig {
    applicationId "com.example.test"
    minSdkVersion 21
    targetSdkVersion "S"
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

但是当我在具有 Api Level 30 的模拟器中安装 apk 时,我收到了错误

Installation did not succeed.
The application could not be installed: INSTALL_FAILED_OLDER_SDK

The application's minSdkVersion is newer than the device API level.

如何解决这个问题?需要修改哪些内容才能使其正常工作?

【问题讨论】:

    标签: android android-min-sdk target-sdk android-12


    【解决方案1】:

    targetSdkVersion "S"

    使用初步版本,minSdkVersion 也会自动变为 S。

    【讨论】:

    • 没听懂。您能否提供更多详细信息?
    • 里面没有别的东西了。什么不清楚?
    • 显然,预览版本的工作方式已经有一段时间了。我没意识到。请参阅这个旧问题的答案:“如果您针对预览版 SDK 进行编译,构建工具会将 minSdkVersion 和 targetSdkVersion 锁定到相同的 API 级别。这导致生成的应用程序无法安装在运行旧版本 Android 的设备上。 .." stackoverflow.com/questions/24457831/… 实际上,将 targetSdkVersion 设置为 31 的答案似乎确实有效,即使 Android Studio 尚未将 S Preview 显示为 SDK 31。
    【解决方案2】:

    更改到此版本有效

    compileSdkVersion 'android-S'
    buildToolsVersion "30.0.3"
    
    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 21
        targetSdkVersion 31
        versionCode 1
        versionName "1.0"
    
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-20
      • 2020-07-16
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      相关资源
      最近更新 更多