在android中使用Twitter4j,在库中得到lint错误--在库中无效的包引用。

问题描述 投票:10回答:2

我在一个安卓应用中使用twitter4j来使用twitter API。一切都很好,我的库也没有问题。今天我在twitter4j-core-3.0.3.jar中运行lint并得到lint错误。我无法控制这个第三方库,那该怎么办呢。

lint错误如下。

Invalid package reference in library; not included in Android: javax.management.openmbean. 引用自twitter4j.management.APIStatisticsOpenMBean。

问题:在twitter4j.management.APIStatisticsOpenMBean中引用。 查找Android中不支持的API访问。

Id.InvalidPackage InvalidPackage

这个检查会扫描库,寻找对Android中不包含的API的调用。

当你创建Android项目时,classpath被设置为只能访问Android中包含的API包中的类。然而,如果你将其他项目添加到libs文件夹中,就不能保证这些.jar文件是以Android特定的classpath构建的,特别是,它们可能会访问不支持的API,如java.applet。

这个检查会扫描库中的jars,寻找对Android中不包含的API包的引用,并将这些引用标记出来。只有当你的代码调用了其中一个库类,并最终引用了不支持的包时,才会出现错误。

android twitter4j android-lint
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.comtoolshelplint.html。


4
投票

目前我只是将lint配置为忽略该错误,并将其显示为警告:要这样做,在eclipse中 goto Preferences-> Android -> Lint Error Checking,并将 "InvalidPackage "的严重程度改为 "Warning "或 "Information "或 "Ignore"。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.