android - Lint 在 Android 项目中使用的 log4j 中发现警告

标签 android log4j lint

我在 Android 项目中使用 log4j,在项目 gradle 中定义的依赖项如下:

compile 'log4j:log4j:1.2.16'

当 Lint 检查发生时,分析器报告“InvalidPackage”错误:

../../../../../../../.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.17/5af35056b4d257e4b64b9e8069c0746e8b08629f/log4j-1.2.17.jar: Invalid package reference in library; not included in Android: java.awt. Referenced from org.apache.log4j.chainsaw.ControlPanel. ../../../../../../../.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.17/5af35056b4d257e4b64b9e8069c0746e8b08629f/log4j-1.2.17.jar: Invalid package reference in library; not included in Android: java.awt.event. Referenced from org.apache.log4j.chainsaw.Main.1.

....

我怎样才能更好地解决这个问题? Lint 建议按 id 抑制此警告,但这意味着按类型抑制所有警告,对吗?这看起来不是最好的解决方案...... 也许有某种方法可以指定 lint 不检查 log4j 包?

最佳答案

awt 本身在 Android 中不受支持。

而是使用 native Android 图形,详见 How to add java.awt.image package in Android和其他问题,如 25488832:using-awt-classes-in-android

当然,如果您依赖依赖 awt 的库,这并没有多大帮助。可能有此类库的 Android 版本。

(您可以使用引发此错误的部分库。您只能使用不使用 awt 的部分库,否则,RTE。为此,您的构建过程必须容忍来自 Lint 的 react . 可能有更安全的方法解决这个问题。)

关于android - Lint 在 Android 项目中使用的 log4j 中发现警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283300/

相关文章:

android - ScrollView 内的 Recyclerview 滚动不顺畅

java - vscode+java+windows : I want to import and use org. apache.logging.log4j.Logger 没有 Maven

Java:您可以从您自己的类中公开第 3 方接口(interface)吗

android - 我应该在 Android Studio 的 Gradle 中将一些依赖项移动到 `runtime` 吗?

android - 在Android Studio中将 `MissingTranslation`升级为错误

android - 我可以关闭 Eclipse 打开时自动启动的 adb 吗?

android - 编辑文本光标位置

java - 尝试对 ListView 使用惰性加载程序时抛出空指针异常

windows - Log4j 不将 System.out 写入文件

android - 防止代码意外进入生产