Android 运行时异常 Binary XML file line # : Error inflating class
今天在做一個二維碼掃描的項目的時候出現(xiàn)了一個錯誤:
android.view.InflateException: Binary XML file line #12: Error inflating class com.zxing.view.ViewfinderView
項目里面的代碼是我從以前項目里面拷貝的,可是各種報錯,找了很多資料也未能解決。
最后自己仔細檢查,總結(jié)一下幾點注意事項:
1、在復(fù)制其他項目的類文件的時候,注意是否Add libs;
2、values 的 xml 文件內(nèi)容是否完整;
3、R類中,自動生成的項目是否完整;
4、activity 是否在 manifest 中聲明;
5、權(quán)限是否都配置完成;
*6、在布局文件中,是否有自定義控件,引用要使用完整名稱;
*比如:com.example.administrator.shop_app.zxing.ViewfinderView;
*如果只寫一個?ViewfinderView 則會報錯。
暫時先寫這么多……………………
相關(guān)資料:http://blog.csdn.net/huangxiaohu_coder/article/details/8497286
在原生Android下編譯APK,編譯沒有問題,但是在運行的時候經(jīng)常出現(xiàn)如標(biāo)題所描述的異常,然后整個程序Crash掉......
??? 我遇到該問題常常都是因為修改了資源文件所引起,大致有以下幾種方式來解決:
??? 1.?引用類名問題:自定義了一個View,將他用于布局文件中,假設(shè)他的包名叫MyPackage,類名叫MyTestView,這個時候你在XML作為布局元素來布局的話,必須使用完整路徑名,也就是包名加類名來引用,用MyPackage.MyTestView來進行引用。
??? 2.構(gòu)造函數(shù)問題:自定義一個View,必須派生實現(xiàn)基類View的三個構(gòu)造函數(shù)
??? View(Context context)???? //Simple constructor to use when creating a view from code
??? View(Context context, AttributeSet attrs)???? //Constructor that is called when inflating a view from XML
??? View(Context context, AttributeSet attrs, int defStyle)???? //Perform inflation from XML and apply a class-specific base style
??? 從文檔上的介紹來看,第二個和第三個構(gòu)造函數(shù)對于XML這種引用方式是必須實現(xiàn)的,這三個構(gòu)造函數(shù)應(yīng)該是在不同的應(yīng)用場合來實例化一個View對象。
??? 3.編譯的中間文件沒有清理干凈:第三種就是你在原生系統(tǒng)代碼的編譯環(huán)境下編譯APK之后,特別是修改了XML,出現(xiàn)標(biāo)題所述現(xiàn)象,這個時候你只需要刪除out目錄下編譯生成的中間文件夾即可(具體名字記不清了:在編譯過程中,系統(tǒng)會將那個位置打印出來,通過串口來看吧,.../out/....../..../classes.dex,你循著這個路徑往前推到你的應(yīng)用的project名字那一層文件夾),刪除再重新make就OK了。
??? 4.找不到資源文件:我原來在2.3的原生系統(tǒng)增加動態(tài)壁紙的時候,動態(tài)壁紙一跑起來就出這個異常,然后crash,當(dāng)時就是因為找不到drawable的資源文件,于是當(dāng)時我把drawable的hdpi或nodpi等文件夾的圖片資源都拷貝一份到drawble下,問題解決(當(dāng)時一直不明白系統(tǒng)會根據(jù)分辨率來選擇加載不同drawable下文件夾的資源,為什么這里必須放入drawable中)。
總結(jié)
以上是生活随笔為你收集整理的Android 运行时异常 Binary XML file line # : Error inflating class的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ECshop 快捷登录插件 支持QQ 支
- 下一篇: android sina oauth2.