Targetsdkversion is the primary basis for Android to provide forward compatibility, and the system does not apply the latest behavioral changes until the app's targetsdkversion is updated.
For example, if you set the app's targetsdkversion to 23, Google will think that your current app is fully equipped with Android 6.0,
So in the Android 6.0 above the new API will run, the original obsolete API will be invalidated, if the low targetsdkversion set, then even run on the version of the device is relatively high, there will be no problem;
Minsdkversion is the minimum requirement that the application can run;
Compilesdkversion does not change the run behavior, when Compilesdkversion is modified, a compile warning or error may occur, but it will not be included in the APK, it will only affect the compilation.
Minsdkversion and Targetsdkversion