android - AndroidManifest引用的类未经验证

时间:2013-02-08 13:48:53

标签: android unit-testing testing broadcastreceiver android-manifest

我最近为Android项目重构了我的包结构,并将BroadcastReceiver类移到了另一个包中。但是,我忘记更新AndroidManifest.xml中的receiver代码的android:name字段。

BroadcastReceiver用于向客户端发送通知,此严重错误仅表示未发送通知。遗憾的是,此文件没有编译时验证,或者似乎抛出任何运行时错误以指示此处的配置错误。

我可以做些什么来验证这些类型的配置吗?也许这些信息可以在单元测试中访问并验证?或者,也许我可以配置更详细的输出,以确保将来不会忽视这样的错误?

1 个答案:

答案 0 :(得分:1)

  

或似乎,抛出任何运行时错误以指示此处的配置错误

警告可能已显示在LogCat中,但可能没有,因为广播的接收器为零是完全正常的情况。

  

我可以做些什么来验证这些类型的配置吗?

您可以file a feature request让Lint验证清单的这一部分。或者,您可以编写自己的脚本来分析源树和清单,并将其作为自定义Ant构建脚本的一部分包含在内。

  

也许这些信息可以在单元测试中访问并验证?

您可以使用PackageManager and queryBroadcastReceivers()确认您用于广播的Intent将解析为1个以上的接收者。