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,然后在实际项目中注册时就会报错,但是同样不影响使用。
  • 相关阅读:
    物理CPU,物理核,逻辑CPU,虚拟CPU(vCPU)区别 (转)
    JVM学习一:常用JVM配置参数
    docker架构
    Linux查看服务器配置
    redis清缓存
    httpclient源码分析之 PoolingHttpClientConnectionManager 获取连接 (转)
    CentOs7.6配置邮件服务并发送邮件
    linux之dmesg命令
    docker部署springboot项目
    如何查看文件是dos格式还是unix格式的?
  • 原文地址:https://www.cnblogs.com/yexiubiao/p/2948751.html
Copyright © 2011-2022 走看看