compileSdkVersion、targetSdkVersion

targetSdkVersion:

  • 目标软件开发版本。表示创建的Android项目使用哪个API版本。高版本API编程接口可以兼容低版本API编程接口,反之则不行。

minSdkVersion:

  • 应用程序支持的最低API版本。

compileSdkVersion:

  • 应用程序编译选择哪个Android SDK版本,通常compileSDKVersion属性值被设置为最新的API版本。

三者区别:

  • compileSdkVersion属于Android编译项目时其中的一项配置,不会被打包进APK文件中,而targetSdkVersion和minSdkVersion将被打包到APK文件中。

三者关系:

  • minSdkVersion <= targetSdkVersion <= compileSdkVersion

相关的一个报错处理

  • 场景:在Android9.0系统上运行APP,报如下错误信息:
Dropping task as app's play services SDK version does not support Android O.
Either update the SDK or lower your app's target SDK version. Canceling all tasks for the service: ComponentInfo
{com.google.android.gms/com.google.android.gms.checkin.EventLogService}
  • 报错信息翻译成中文大概意思是 :
要么更新SDK,要么降低应用的目标SDK版本
Either update the SDK or lower your app's target SDK version
  • 所以,首先考虑去检查target SDK version
  • 报错时app下build.gradle中的配置 :
defaultConfig {
    applicationId "com.xxx.xxxxx"
    minSdkVersion 15
    targetSdkVersion 28
    versionCode 204003
    versionName '2.4.3'
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }
}
  • 可以看到报错时当前targetSdkVersion 28
  • 把它降低一下, 改为 :
targetSdkVersion 26
  • 打包, 在Android9.0系统上运行此APP, 运行成功, 不再报这个错,修改成功。

你可能感兴趣的:(AS,APP)