首页 > 技术文章 > Android在开发过程中如何选择compileSdkVersion,minSdkVersion和targetSdkVersion

billshen 原文

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.0"
    defaultConfig {
        applicationId "com.billshen.offerlearn"
        minSdkVersion 15
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

compileSdkVersion

compileSdkVersion表示Gradle使用哪个版本的API来编译,避免使用过期API。

minSdkVersion

minSdkVersion表示APP可以运行的最低Level,低于这个版本代码就不做兼容了。谷歌应用市场会根据这个最低版本号和用户的Android的版本号对比来告知用户是否可用安装这个APP。

targetSdkVersion

targetSdkVersion表示告诉Android系统APP做的最高系统特性兼容。

总结

三者之间关系minSdkVersion <= targetSdkVersion <= compileSdkVersion。为了尽可能使用新的API,compileSdkVersion应该尽可能高。为了使APP更加契合新版本Android的外观特性,targetSdkVersion应该尽可能高。在实践中一般minSdkVersion <= targetSdkVersion == compileSdkVersion

推荐阅读