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

 

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

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

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

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

如果有其他依赖库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,写本文的目的也是因为出现了该情况所以才记录下来,希望恰好能帮到你。将集成kotlin的lib改为kotlin-stdlib:1.2.41,而不是kotlin-stdlib-jre8:1.2.41或kotlin-stdlib-jdk8:1.2.41(版本可能有差异,这个需要自己定)

  • ③其他原因导致。

 

转载注明出处:https://blog.csdn.net/gao_chun/article/details/81081312

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值