内容简介:如果你在网上搜索了一大圈之后发现还是没有解决你的问题,或许这篇文章能帮到你,同事的开发环境中遇到了,处理了一下午,期间包括删除工具,重装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引起的。
出现上面截图中的红叉后进行各种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,写本文的目的也是因为出现了该情况所以才记录下来,希望恰好能帮到你。
- ③其他原因导致。
以上所述就是小编给大家介绍的《Android Studio中app出现红叉的解决方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 父元素设置overflow:scroll时vuedraggable组件出现奇怪效果的解决方案
- 建筑行业出现集中式感染CrySiS勒索病毒,深信服率先提供解决方案
- 脑洞小开-Selenium代码迁移时常出现的9个报错问题(内附解决方案)
- Hadoop伪分布式下HBase出现at org.jruby.xxxxx错误的解决方案
- Hadoop伪分布式下HBase出现at org.jruby.xxxxx错误的解决方案
- Hadoop伪分布式下HBase出现at org.jruby.xxxxx错误的解决方案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rust编程之道
张汉东 / 电子工业出版社 / 2019-1 / 128
Rust 是一门利用现代化的类型系统,有机地融合了内存管理、所有权语义和混合编程范式的编程语言。它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全。同时,还有能与C/C++语言媲美的性能,以及能和动态语言媲美的开发效率。 《Rust编程之道》并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust 语言。从设计哲学出发,探索Rust 语言的内在一致性;从源码分析入......一起来看看 《Rust编程之道》 这本书的介绍吧!