这个问题字面意思很容易看懂的,就是SDK没有,要选择合适的SDK编译。
可以,按照这个流程,我们一步一步走,看看:
打开Android Studio Setting >> 找到Android SDK选项 >> Android SDK Location 旁边的编辑按钮Edit点击查
这里会有两种情况:
1.android sdk真的没有下载,这个时候,你就要下载一个SDK,这个问题比较好解决,这里不做详细解释
2.如下这种情况
文字提醒说的是,SDK已经存在,这就很奇怪了,有SDK,却提示不对,这个时候,你会想到是不是版本不匹配造成的,会去查找和匹配的编译版本,最后你还是会发现提示让你选择SDK。那么到底怎么解决呢?
这里,我先查看自己最近更改了什么会影响编译配置的东西,经多番查看,最近除了更新了KotLin插件和版本,基本没动过其他的。照理说,更改版本不会引起这个呢,我又查看了更改之后APP被更改的文件,最后找出了问题关键:app.iml
解决问题前,先说明下app.iml文件的作用:app.iml 的作用是一系列Moduele配置编译后的临时文件
编译配置文件,和问题对上了,我更改的也是配置,那就对了
最后,定位问题,在app.iml 中orderEntry标签下,有个type="jdk"的已经被更改为
<orderEntry type="jdk" jdkName="Kotlin SDK" jdkType="KotlinSDK" />
所以要解决这个问题,我们需要把这个地方更改为编译的SDK,我这里用的是SDK 27。所以,贴上我更改之后的
<orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
这里更改之后,就发现可以跑APP了,问题解决
注意:app更改配置文件build之后app.iml都会更新,如果发现编译不了了,多看看引起的原因,不要盲目卸载,重新下载 (我都差点重装系统了,哈哈~~)
如果后面发现还有其他引起这类问题的情况,会继续补充,希望能帮助到你们 ~ ~