一,关系
1.compileSdkVersion指定编译apk用哪个版本的API,但是并不会打包进入到apk;其作用在于编译的时候检查代码的错误和警告
2.targetSdkVersion指定apk要运行的目标版本,在编译apk的时候会将该版本的API编译打包进入apk.
3.minSdkVersion指定apk要运行的最低版本,在编译apk的时候会将>= minSdkVersion的版本的API到<=targetSdkVersion的版本编译打包进apk.做兼容判断处理.
4.实际运行于某版本的Android系统上时,如果该Android系统版本在 minSdkVersion到targetSdkVersion之间,所调用的API就是该Android系统版本的接口; 当该Android版本大于targetSdkVersion的时候,实际调用的接口仍然会是targetSDKVersion版本的接口,而不会更高.
二,参考
1.compileSdkVersion,targetSdkVersion和minSdkVersion三者的关系
https://blog.csdn.net/nnmmbb/article/details/86647250
2.如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
https://chinagdg.org/2016/01/picking-your-compilesdkversion-minsdkversion-targetsdkversion/