1

我最近重構了Android項目的包結構,並將BroadcastReceiver類移至了其他包。但是,我忘記了更新AndroidManifest.xml中的receiver標籤的android:name字段。android-AndroidManifest引用的類未驗證

BroadcastReceiver被用來發送通知到客戶端,這嚴重錯誤只是意味着沒有通知被髮送。不幸的是,這個文件沒有編譯時驗證,或者看起來,這裏顯示的任何運行時錯誤都表明存在錯誤配置。

有什麼我可以從我身邊做驗證這些類型的配置?也許這些信息可以在單元測試中進行訪問並驗證?或者,也許有更詳細的輸出可以配置,以確保這樣的錯誤在未來不會被忽視?

回答

1

,或者看起來,拋出的任何運行時錯誤,表示這裏

配置錯誤警告可能在logcat中已經顯示了,但可能不會,因爲具有用於廣播零個接收機是一個完全正常的條件。

有什麼我可以從我身邊做驗證這些類型的配置?

您可以file a feature request讓Lint驗證這部分清單。或者,您可以編寫自己的腳本來分析源代碼樹和清單,並將其作爲自定義Ant構建腳本的一部分。

也許這個信息可以在單元測試中進行訪問和驗證?

您可以使用PackageManager and queryBroadcastReceivers()確認您使用的廣播Intent將解析爲1+接收器。

+0

驗證PackageManager的單元測試看起來像票證。這是一個恥辱,沒有什麼更標準化。當我有一些工作時,我會發布我的單元測試。乾杯。 – 2013-02-08 17:35:50