在安卓中使用Twitter4j时,在库中遇到了lint错误 - 库中的包引用无效。

10

我在一个安卓应用程序中使用Twitter API,使用twitter4j库,一切正常,没有出现问题。但今天运行lint时,在twitter4j-core-3.0.3.jar中出现了lint错误。

我无法控制这个第三方库,那么应该怎么办呢?

lint错误如下:

在库中找到无效的包引用; 不包括在Android中: javax.management.openmbean。由twitter4j.management.APIStatisticsOpenMBean引用。

问题: 查找对Android不支持的API的API访问

Id: InvalidPackage

此检查扫描库,查找调用Android未包含的API的API。

在创建Android项目时,类路径设置为只能访问包含在Android中的API包中的类。然而,如果您将其他项目添加到libs/文件夹中,则不能保证这些.jar文件是使用特定于Android的类路径构建的,特别是它们可能正在访问不受支持的API,如java.applet。

此检查扫描库JAR并查找对Android不包含的API包的引用,并标记这些引用。只有在您的代码调用其中一个库类并最终引用不受支持的包时,才会出现此错误。


得到同样的东西。 - Bo A
嘿,有人解决了这个问题吗?我也卡在同样的问题上了。 - Reena
Reena,你用的是哪个集成开发环境(IDE)? - Gaurav Vashisth
2个回答

10
如果您正在从命令行运行Lint,您可以在项目目录中提供一个 lint.xml 文件,并使用以下配置来忽略 twitter4j jar 文件。
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="InvalidPackage">
        <ignore path="libs/twitter4j-core-3.0.5.jar" />
    </issue>
</lint>

Lint的命令行选项可以在http://developer.android.com/tools/help/lint.html找到。


3
扩展此答案:可以使用以下类型的语句来包含某个特定的软件包:<?xml version="1.0" encoding="UTF-8"?> <lint> <issue id="InvalidPackage"> <ignore regexp=".*mypackage.*" /> </issue> </lint> - Peter

4

目前我只是配置了lint,忽略了这个错误,并将其显示为警告: 要在Eclipse中执行此操作,请转到“首选项”->“Android” ->“Lint错误检查”,并将“InvalidPackage”的严重程度更改为“警告”或“信息”或“忽略”。

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接