Android Studio创建的build.gradle中的minSDK实现过高

Android Studio创建的build.gradle中的minSDK实现过高,android,android-studio,build.gradle,Android,Android Studio,Build.gradle,我刚刚创建了我的第一个Android Studio项目。我选择了minsdk15。我担心为什么编译SDK的默认值更高。。安全吗?在此配置中,我的应用程序是否会在具有API 15的设备上运行?但是真正的问题发生在我将compileSdkVersion和targetSdkVersion切换到24时。到处都有错误,而且implementation'com.android.support:appcompat-v7:26.1.0'对于我的目标SDK来说过高。那么,如果min SDK的实现率较低,为什么An

我刚刚创建了我的第一个Android Studio项目。我选择了minsdk15。我担心为什么编译SDK的默认值更高。。安全吗?在此配置中,我的应用程序是否会在具有API 15的设备上运行?但是真正的问题发生在我将compileSdkVersion和targetSdkVersion切换到24时。到处都有错误,而且
implementation'com.android.support:appcompat-v7:26.1.0'
对于我的目标SDK来说过高。那么,如果min SDK的实现率较低,为什么Android Studio会在那里设置如此高的实现率呢

TL;医生: 为什么执行率如此之高?在这种配置下,它能用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'
}

没关系,事实上,编译器dk大于最小值是正常的。支持版本的库版本应与编译器DK匹配。升级到26或降级支持库。

所有SDK版本等于或高于Minsdk版本的android设备都可以运行该应用程序。
最好使用与编译器SDK相同版本的SDK工具,这不会真正影响可以运行应用程序的设备。主要原因是一些Google API无法在较低的SDK级别上工作。

如果您对
compileSdkVersion
vs
minSdkVersion
vs
targetSdkVersion
感到困惑,您应该认真阅读。是的,我读过这篇文章,但是没有关于依赖项和
实现'com.android.support:appcompat-v7:26.1.0'
的内容,有一个专门关于支持库依赖项和
编译dkversion
的内容。但是对于具有较低API的设备呢?如果
implementation'com.android.support:appcompat-v7:26.1.0'
更高,应用程序会对它们起作用吗?是的。这就是Minsdk版本所控制的。但是,如果使用在两者之间添加的函数,则在使用它们时会崩溃(或者需要添加版本检查,如果检查失败,则不使用它们)。