为什么编译APK不尊重minSdkVersion?

时间:2016-06-11 12:12:41

标签: android

我已使用minSDKVersion=17从Android Studio创建了一个示例项目。我从app\build\outputs\apk\打开编译好的APK作为zip文件,然后转到res目录。它包含许多早于minSDK的旧版本的目录。为什么?它持有43 KB的伪造,永远不会使用。

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "vectordrawable.lelisoft.com.showvectordrawable"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
}

APK:

  1. RES \颜色-V11
  2. 水库\抽拉-MDPI-V4
  3. RES \布局sw600dp-V13
  4. RES \ Mip映射HDPI-V4

1 个答案:

答案 0 :(得分:1)

所有这些目录在API Level 17+设备上都有效。 17高于13,11和4.如果没有better match的资源,Android应用可能会从这些目录中提取资源。