【问题标题】:too high implementation for minSDK in build.gradle created by Android StudioAndroid Studio 创建的 build.gradle 中的 minSDK 实现过高
【发布时间】:2017-12-05 22:37:37
【问题描述】:

我刚刚创建了我的第一个 Android Studio 项目。我选择了 min SDK 15。我担心为什么默认编译SDK更高..它安全吗?在这种配置下,我的应用程序会在 API 15 的设备上运行吗?但是,当我将 compileSdkVersion 和 targetSdkVersion 切换到 24 时,发生了真正的问题。到处都是错误,并且implementation 'com.android.support:appcompat-v7:26.1.0' 对我的目标 SDK 来说太高的信息。那么,如果 min SDK 较低,Android Studio 到底为什么要放这么 高实现

TL;DR: 为什么执行率这么高?它会在这个配置中使用 min API 工作吗?为什么 Android Studio 会这样工作?

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.q_back.audiocrator"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

【问题讨论】:

  • 如果您对compileSdkVersion vs minSdkVersion vs targetSdkVersion 感到困惑,您真的应该阅读this blog post
  • 是的,我读过这个,但是没有关于依赖和implementation 'com.android.support:appcompat-v7:26.1.0'
  • 有一个paragraph 专门关于支持库依赖项和compileSdkVersion

标签: android android-studio build.gradle


【解决方案1】:

没关系,实际上compileSDK大于最小值是正常的。支持版本的库版本应与您的 compileSDK 匹配。要么升级到 26,要么降级支持库。

【讨论】:

  • 但是 API 较低的设备呢?如果implementation 'com.android.support:appcompat-v7:26.1.0' 更高,应用会在它们身上运行吗?
  • 是的。这就是 minSDKVersion 控制的内容。但是,如果您使用在两者之间添加的功能,您在使用它们时会崩溃(或者您需要添加版本检查,如果检查失败则不使用它们)。
【解决方案2】:

所有 SDK 版本等于或高于 minSDKVersion 的 Android 设备都可以运行该应用程序。 最好使用与您的 compileSDK 版本相同的 SDK 工具版本,它不会真正影响可以运行应用程序的设备。主要因素是某些 Google API 无法在较低的 SDK 级别上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2016-12-28
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多