开发中用android studio导入ApiDemos 导致很多编译不过问题,今天小结一下. 注:本篇只针对android studio工具而写,eclipse没试过不在讨论范围。
1. preference_switch报错
报错原因是因为xml文件没有以.xml的形式保存文件,简单点说就是没有后缀名,改成preference_switch.xml就可以了,此文件路径在 你的工程名appsrcmain esxml下
2. 错误: 程序包android.support.v4.print不存在
如下图No resource identifiter found for attribute '***’ in package ‘android’之类错误:
原因是没有V4包,所以要在dependency里加入V4包,具体右键工程选择Open Module Settings, 然后点击Dependencies, 再点击"+"号,选择Library dependency找到support.v4包加进去即可,如图.
3.再编译遇到”Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library“问题
解决办法:
miniSdk版本至少是4,于是在build.gradle的defaultConfig内加一行代码
minSdkVersion 4
如下所示:
defaultConfig {
minSdkVersion 4
//其它代码
......
}
4.com.google.android mms 不存在系列问题
原因是缺少源码包,去下个android-src.jar(下载地址:http://download.csdn.net/detail/jasonde2012/5771075),放入工程内,添加依赖(方法同上),注此处是File dependency而不是前面的liabrary denpendency, 重新编译但发现还有些问题,我们知道mms包源码是Android源代码一部分,即使拿到mms包源码也要在android源码重新编译下才能用,这个工程量太大很耗时间 (android源码据说几十个g...), 这种吃力不讨好的事情还是少做,所以在导入过程中,遇到主要以上几个问题,剩下还有一些包找不到的就直接给注掉了,要知道我们的精力有限,不能为了一些问题就停滞不前了,先运行起来demo,其余的带到必须用了,再去跟它死磕也不迟。
所以我在工程里直接删除mms提示错误文件如图:
最后成功编译运行效果: