zoukankan      html  css  js  c++  java
  • 关于Android SDK工具Lint的误报:Class referenced in the manifest, com.xxx.xxx.receiver.NetworkReceiver, was not found in the project or the libraries

    本文为原创文章,欢迎转载,但请注明出处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>
     
    如果此时我们运行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,然后在实际项目中注册时就会报错,但是同样不影响使用。
  • 相关阅读:
    CSS 会被继承的属性
    List的遍历和删除元素
    java中unicode和中文相互转换
    Hibernate注解方式一对多自关联关系映射
    HQL: Hibernate查询语言
    java replaceall 使用正则表达式替换单等号,不替换其他相关的等号。
    Java 将图片转二进制再将二进制转成图片
    返回上一页并刷新与返回不刷新代码
    Css圆角边框
    jquery mobile
  • 原文地址:https://www.cnblogs.com/yexiubiao/p/2948751.html
Copyright © 2011-2022 走看看