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

Posted gao_chun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Android Studio中app出现红叉的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Android studio的app上有红叉的解决办法

Eclipse中出现JS文件前有红叉的解决方法

duddo在xml里面出现红叉的解决方法

java程序中没有错,但是项目上面显示一个红叉的解决办法

java程序中没有错,但是项目上面显示一个红叉的解决办法

Android Studio中Run按钮app的module显示红叉