自总结minSdkVersion、targetSdkVersion、CompileSdkVersion

minSdkVersion:

         你的app支持的最低系统平台,低于这个版本的硬件,app无法正常安装。如果将minSdkVersion设置的太低的话,当使用某些在高版本里才有的API方法时,会提示“该方法需要支持的版本是xx,当前的最低版本是xx”。

建议:除非是需求要求,否则一般将最低版本设置在16-19之间。目前低于19(4.4.4)版本的手机已经不多了。

targetSdkVersion:

        主要起到向前兼容的作用。什么意思呢,咱们知道,API23以后,需要用到权限的时候需要动态申请,如果你的tagetSdkVersion设置为22,那么即便是运行在API为23(6.0)的手机上,你依然不需要去动态申请权限这些。总结一句话就是,targetSdkVersion决定你app在硬件上的表现行为。当然在你修改了targetSdkVersion以后,一定要经过系统的测试才行。

建议:把targetSdkVersion调高,能让你的app表现形式不至于落后,还有一点,当你的tagetSdkVersion跟Android系统版本相匹配的话,会减少一些兼容性判断,能提高程序的运行效率。

compileSdkVersion:

        编译App时所使用的版本,它不涉及到运行时的行为。Android Studio有预编译功能,将compileSdkVersion设置为最高,可以避免使用弃用的API,并且为新的API做准备。

建议:升级到最高版本。

总结:minSdkVersion <= targetSdkVersion <= compileSdkVersion

buildToolsVersion:

    构建工具的版本号,可以用高的构建工具版本来构建低版本的Sdk项目。

你可能感兴趣的:(自总结minSdkVersion、targetSdkVersion、CompileSdkVersion)