【问题标题】:Android Studio What is the difference between minSdkVersion, targetSdkVersion and minSdk, targetSdk?Android Studio minSdkVersion、targetSdkVersion和minSdk、targetSdk有什么区别?
【发布时间】:2022-01-10 21:03:53
【问题描述】:

我将 Target SDK 版本从 30 更改为 31,将 Min SDK 版本从 19 更改为 22。在 build.gradle 中,minSdkVersion、targetSdkVersion 和 targetSdk 相应更改,但 minSdk 除外。现在还是 19 岁。

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.studentsacademicmanagementappsama"
        minSdk 19
        targetSdk 31
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        targetSdkVersion 31
        minSdkVersion 22
    }
} 
  • minSdkVersion、targetSdkVersion和minSdk、targetSdk有什么区别?

  • 我应该将 minSdk 更改为 22 还是忽略它?

【问题讨论】:

  • 我知道 minSdkVersion 和 targetSdkVersion 是什么。我的问题是 minSdk 和 targetSdk。我观看了有关如何更改 SDK 级别的 Youtube 视频,他们的 build.gradle 没有 minSdk 和 targetSdk 但他们有 minSdkVersion 和 targetSdkVersion
  • @Rollno1 不,不是。我的问题是 minSdk 和 targetSdk 而不是 minSdkVersion 和 targetSdkVersion

标签: android target-sdk


【解决方案1】:

build.gradle 中没有名为 minSdk 、 targetSdk 和 compileSdk 的东西。 你应该像这样配置你的应用兼容性:

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.app.test"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0.0"
    }
}

【讨论】:

  • 这很奇怪。这是我第一次接触 build.gradle 中的 defaultConfig,但我从未做过这些更改。我使用的是 Android Studio 2020.3.1 是不是 bug?
  • 这对我来说很奇怪。尝试创建新项目,看看它是否会再次发生。
  • 我做了,同样的事情又发生了
【解决方案2】:

据我所知1,Gradle 插件不会理解(并且会忽略)这些属性:

  minSdk 19
  targetSdk 31

据我所知,他们从未被认出。

问:他们为什么会在那里?
A:我的猜测是写原始 Gradle 文件的人搞错了。

我的建议是删除它们,看看它是否会破坏任何东西。


1 - ...通过阅读插件文档、查看源代码和谷歌搜索。我可能错过了一些东西。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2017-09-07
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多