码迷,mamicode.com
首页 > 其他好文 > 详细

Failure [INSTALL_FAILED_OLDER_SDK]

时间:2015-06-22 20:36:24      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

Android Studio写的程序,想在安卓2.3.3(对应的sdk版本是10)虚拟器上运行,报Failure [INSTALL_FAILED_OLDER_SDK]错误。

 

分析与解决过程:

网上都说是因为程序源码下的“AndroidManifest.xml”文件中定义了“minSdkVersion”的原因,将其删除就可以解决问题。

可是我源码下的“AndroidManifest.xml”文件中根本就没有“minSdkVersion”内容【确实没有】,在源码各个目录挨个查找,发现在“app\build\intermediates\manifests\full\debug”目录下也有个“AndroidManifest.xml”文件,里面定义了如下内容:

技术分享【在工程里面是看不到这个文件夹的,必须要在工程文件夹才能看到】

技术分享

技术分享

【打开后发现真的有!!!根据这个作者的指示改掉了】

<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />

马上将上述两个值都修改为10,再运行问题依旧,而且该文件又还原为修改前的版本了。可见这个文件是在每次编译时自动生成的,源头不在这!

【我的情况到这儿就可以了-u-运行了起来。可能是原先设置运行版本的时候调的比较高。纳闷儿为什么工程栏里面不显示这些东西?还有,用eclipse打开Android Studio编写的程序会出问题,会分裂成三个工程,好奇怪!】

可是没有别的xml文件了,那就找找非xml文件吧,用文本方式打开看看是否有相关定义,最后发现在程序源码的app目录下有个“build.gradle”文件,内容如下:

技术分享

将上图中的两个值修改为10后,程序就可以在安卓2.3.3虚拟设备中运行了!

技术分享

 【我的也有,没有改就可以运行了,为什么呢?】

技术分享

【然而我也试着改了改】

解决方案:

修改源码app目录下的“build.gradle”文件,将其中的minSdkVersion 、targetSdkVersion 修改为跟虚拟设备的安卓API版本一致即可。

 

PS:

minSdkVersion 、targetSdkVersion 的解释参考:

http://blog.csdn.net/jspamd/article/details/17467835

解决方法来源:http://blog.sina.com.cn/s/blog_709548200102vfmu.html

万分感谢博主!

Failure [INSTALL_FAILED_OLDER_SDK]

标签:

原文地址:http://www.cnblogs.com/yanpanjiao/p/4593652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!