Android Studio中app出现红叉的解决方案

栏目: 编程工具 · Android · 发布时间: 6年前

内容简介:如果你在网上搜索了一大圈之后发现还是没有解决你的问题,或许这篇文章能帮到你,同事的开发环境中遇到了,处理了一下午,期间包括删除工具,重装sdk等等,就差重装系统了。折腾了一下午最后还是发现Run按钮app的module依然显示红叉,特别头疼也感到很疑惑,后来仔细研究还是发现了问题并找到了对应的解决方案,最终是因为集成了kotlin环境而导致app下的iml文件中jdkName和jdkType发生了改变找不到Android SDK引起的。出现上面截图中的红叉后进行各种sync、make还有clean都没出现

如果你在网上搜索了一大圈之后发现还是没有解决你的问题,或许这篇文章能帮到你,同事的开发环境中遇到了,处理了一下午,期间包括删除工具,重装sdk等等,就差重装系统了。折腾了一下午最后还是发现Run按钮app的module依然显示红叉,特别头疼也感到很疑惑,后来仔细研究还是发现了问题并找到了对应的解决方案,最终是因为集成了kotlin环境而导致app下的iml文件中jdkName和jdkType发生了改变找不到Android SDK引起的。

Android Studio中app出现红叉的解决方案

出现上面截图中的红叉后进行各种sync、make还有clean都没出现任何好转,这里点击app右边向下的小箭头出现Edit Configurations…进入如下界面,提示选择 Android SDK,其实只要之前构建是好的,SDK就没有问题,出现问题的主要原因是因为没有找到对应的SDK,这里就是问题的根源所在了。

Android Studio中app出现红叉的解决方案

这里我们需要去找一个文件:app.iml,这个文件是module在构建过程中记录的各种依赖库和构建信息,一般多人协同开发的情况下,这类文件是不需要上传到版本控制中的,构建过程产生的配置信息在项目从版本控制软件中拉取下来后构建时自然会自动生成,找到这个iml文件后,我们按一下Ctrl+F,然后搜索下jdkName,如果你此处的依赖不是Android SDK相关,那很可能就是这里的问题了,正常是这样的:

Android Studio中app出现红叉的解决方案

如果有其他依赖库library,也请找到对应的iml文件查看jdkName=后面是否也存在问题。上面是出现了该问题的解决方案,下面来说一说导致这个问题的原因:

  • ①可能是同事上传了这个iml文件,你拉取之后sync发现找不到对应的Android SDK版本,一般会提示下载SDK或者按照上面的方法修改下就可以。注:建议不要将该文件上传到版本控制软件中,还有其他文件也不需要上传(.gradle、.idea、build、*.iml、gradle.properties、local.properties)等等。
  • ②引用了其他插件所导致,如 kotlin和 java 混合开发时,将下图中圈中的改为上面一行就可以了,对了这里需要说明一下就是在windows环境下用哪一行都没问题,但是在mac环境下构建完后,iml文件中的jdkName会变成Kotlin SDK,导致项目的app出现红叉找不到Android SDK,写本文的目的也是因为出现了该情况所以才记录下来,希望恰好能帮到你。

Android Studio中app出现红叉的解决方案

  • ③其他原因导致。

以上所述就是小编给大家介绍的《Android Studio中app出现红叉的解决方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java程序设计与应用开发

Java程序设计与应用开发

於东军 / 清华大学出版社 / 2005-3 / 27.00元

本书作为Java程序的入门与应用教材,共分为3部分:第一部分讲解Java程序设计的基础知识,包括Java基本编程语言、面向对象设计思想、类、对象、接口以及异常处理。第二部分讲解Java程序设计的高级知识,包括:GUI编程、套接口编程、I/O系统、数据库访问以及多线程编程。第三部分详细分析一个实际项目的开发过程,包括系统分析及功能实现。在项目实例中综合应用第一、二部分的Java知识,能够帮助读者进一......一起来看看 《Java程序设计与应用开发》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换