作用
Android Studio 新建一个工程后,build.gradle里会有compileSdkVerson、targetSdkVersion、minSdkVersion这几个字段,这些配置有啥意义呢?
compileSdkVersion:和编译时有关。
1、只和编译相关
比如我们当前compileSdkVersion=28(Andorid 9.0),Android 10 新增了有关5G的api。我们的app想尽早使用5G相关的api,这时只需要将compileSdkVersion=29(Android 10),就能在编译阶段编译通过。此外,还需要注意的是,由于这个5G api是新增的,因此需要判断当前系统版本>=29才能使用新api。
至于这个声明,其实不用太在意,它只是我们在查看源代码和编译时才发挥作用的,它与应用兼容性关系不大。它指定了 Gradle 用哪个版本的 API 级别来编译你的应用,这样你在代码里就能够使用这个 API 级别提供的方法和功能。
2、和运行时行为无关
开发的应用程序在Android 6.0系统运行,不会以Android 6.0新增的行为运行,决定Android系统行为的仍然是targetSDKVersion。那么compileSDKVersion有什么用呢?选择最新的API版本,在编译的时候检查代码的错误和警告,提示开发者修改和优化。