開發中用android studio導入ApiDemos 導致很多編譯不過問題,今天小結一下. 注:本篇只針對android studio工具而寫,eclipse沒試過不在討論范圍。
1. preference_switch報錯
報錯原因是因為xml文件沒有以.xml的形式保存文件,簡單點說就是沒有后綴名,改成preference_switch.xml就可以了,此文件路徑在 \你的工程名\app\src\main\res\xml下
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提示錯誤文件如圖:
最后成功編譯運行效果: