本文為原創文章,歡迎轉載,但請注明出處http://www.cnblogs.com/yexiubiao/archive/2013/03/07/2948751.html,未在
文章頁面明顯位置給出原文連接的,將保留追究法律責任的權利。
在項目基本做完后,我們通常會用Android SDK自帶的工具Lint來檢查一下項目中的一些潛在的問題(右鍵工程-->Android Tools-->Run Lint:Check for Common Errors),但是有時會出現誤報,如題。
假如我們的項目是由多個工程組成的,在類庫工程里我們定義了一個繼承至BroadcastReceiver的類NetworkReceiver,用來保存網絡改變后的狀態,然后在實際工程中的清單文件中注冊這個類,如:
<!-- 監聽網絡狀態改變 -->
<receiver android: name= "com.xxx.xxx.receiver.NetworkReceiver" >
<intent-filter>
< action android: name= "android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<receiver android: name= "com.xxx.xxx.receiver.NetworkReceiver" >
<intent-filter>
< action android: name= "android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
如果此時我們運行lint檢查錯誤的話,會發現清單文件里注冊這個類的地方會報錯如下:
Class referenced in the manifest, com.xxx.xxx.receiver.NetworkReceiver, was not found in the
project or the libraries(在清單文件中引用的類com.xxx.xxx.receiver.NetworkReceiver沒有在工程中或類庫中找到)
其實這里是一個誤報,直接無視掉就行,當我們修改完其他Lint錯誤后,只要再次重復之前的操作(右鍵工程-->Android Tools-->
Clear Lint Markers)即可,這個類是完全可以正常工作的。
補充:
在類庫工程中定義的所有類在實際工程的清單文件中注冊時都會報同樣的錯,例如在類庫中自定義了Application,然后在實際項目中注冊時就會報錯,但是同樣不影響使用。