最近我们的APP将sdk编译版本(compileSdkVersion=27)和目标sdk版本(targetSdkVersion=26)升级到了Android 8.0(26是Android 8.0,27是Android 8.1)。于是乎,我们的应用在8.0的系统上就崩溃了。而将targetSdkVersion改为25,再运行则不会崩溃。那么问题来了,为什么修改了targetSdkVersion会得到不同的运行结果?
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
复制代码
先来了解一下Android应用向下兼容机制。