一、问题描述
今天开始正式接触项目的工作内容,然后从组里的代码仓库里git clone了一份Android Studio项目下来。下好了以后我使用Android Studio打开这个项目,但在尝试编译运行的时候遇到了很多错误。例如,开发环境界面上边用于编译的小锤子旁边的app打了一个小红叉(×),意思是无论如何也点击不了运行,同时无法选择真机设备。
然后点击File->Project Structure就会出现以下Error
Error: Please select Android SDK
网上有一个方案是通过编辑Android SDK的方式取消勾选已安装好的SDK Platform。详细参考博客:https://blog.csdn.net/weixin_40611659/article/details/119323037。如下图所示:
但是我只能说这个方案不适合我,因为我无法进行取消勾选。所以,我通过其它的资料尝试了以下的解决方案。
二、解决方案
参考资料是:https://blog.csdn.net/u013346208/article/details/81163221。这份资料表明,在app.iml文件中的orderEntry标签下有一行type="jdk"的关键信息,这行关键信息设置了整个项目所使用的Android SDK版本。然后我就查看了我项目中的app.iml文件 (备注:你可以通过文件搜索的方式把这个文件搜索出来,我就是这样找出来的,然后它在"XXX项目名\.idea\modules\app"路径下面),发现了我的项目是基于Android API 29 Platform的,因为这行信息如下:
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
然后我又查看了我已经安装好的SDK版本:
发现装的还挺多,而且也包含了Android 10.0 (Q),该版本是API Level=29的。那应该编译不会有问题呀,有点纳闷儿了。
后边把不重要的SDK都删除了,只剩下Android 10.0和7.0。最后再编译,居然搞定了。呵呵。原来,Android SDK不是装的越多越好,够用就行。
三、总结
1、Android SDK不是装的越多越好,够用就行。
2、由于Android API名字那一列只出现了34、33和32,我还去谷歌了一下为啥没有31、30和29了,呵呵。
然后我看了一份StackOverFlow上面的资料:I need Android API 30 But cannot see that API in the SDK platform list。这份资料表明,Android 12.0 (S)就是Android API 32,Android 11.0 (R)就是Android API 31,而Android 10.0 (Q)就是Android API 30,,,以此类推。
3、遇到问题需要多思考,不要直接搜索自己的问题,如果找不到答案或者解决不了就觉得很难很难。可以在纸上写几个方案,然后去执行它们。
4、大家伙有问题欢迎留言!
四、参考
1、Error: Please select Android SDK_冯旭_Android的博客-CSDN博客
2、android Error:Please select Android SDK 问题集锦
3、I need to install Android API 30. But I cannot see that API in the SDK platform list