当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio项目中找到哪些文件正在使用特定的外部库

洪子晋
2023-03-14

在Android Studio项目的项目视图中的“外部库”下,我有这些库“stax stax api:1.0”。1@jar“和”xpp3:xpp3:1.1.3。3@jar“。它们给我带来了很多问题,以至于我无法构建项目。我似乎不知道它们是如何到达那里的,也不知道它们在哪里被使用。

我现在构建时收到的错误消息是:

“错误:错误:xpp3定义了与Android现在提供的类冲突的类。解决方案包括找到没有相同问题的新版本或替代库(例如,对于httpClient,使用HttpUrlConnection或okhttp代替),或使用jarjar之类的东西重新打包库。[DuplicatePlatformClass]”

错误消息很好,只是它没有告诉我谁首先在使用这个库。

有没有一种简单的方法可以找出它们在项目中的使用位置?或者甚至是一种简单但不需要查看每个文件的方法?这是一个包含大量文件的多模块项目。如果我可以删除它们,这会告诉我,但没有删除选项。

这可能是我忽略的非常简单的事情。感谢您的帮助。很高兴按要求添加更多信息。

我尝试过“分析依赖项”,但它没有显示我能看到的任何引用。

更新:我忘了说我也试过了/gradlew应用程序:依赖项,但它只告诉我我的项目依赖于这些库。我已经知道了。有没有办法获取更具体的信息,这样我就可以删除这些库?

更新2:接受的答案确实有效,但我需要重定向控制台输出。

共有1个答案

岳杜吟
2023-03-14
gradle app:dependencies

它将显示项目的依存关系树

在这个链接中,我们很好地解释了该命令以及如何使用它。

如果控制台输出被剪裁,请使用此选项重定向控制台输出:

./gradlew app:dependencies > dependencies.txt
 类似资料:
  • 我在问我,在AndroidStudio项目中,哪些文件夹应该被Git明明白白地忽略? 例如。“.idea”应该被忽略吗?

  • 我有一个多构建Java项目正在用Gradle构建。 为了隐藏非法反射访问警告,我想在几个项目中找到JavaExec和Test任务,并提供所需的JVM参数。而不是将这些添加到每个项目中,我想将其应用于根中的所有项目build.gradle. 如何在所有项目中找到特定类型的特定任务? 我最初尝试使用withType,但是我想消除重复JavaExec和Test任务类型。见下文: 尝试#1

  • 问题内容: 我尝试使用删除Linux中的文件,但出现错误: 我如何找出哪个进程正在使用此文件? 问题答案: 您可以使用以下命令: 您将收到使用该文件的进程列表。 您可以对其使用不同的标志,以接收更详细的输出。 您可以在热熔器的Wikipedia文章或页面中找到更多信息。

  • 问题内容: 对“ svn”样式很抱歉-我们正在从SVN迁移到GIT(包括我们的CI Jenkins环境)。 我们需要的是使Jenkins能够将GIT项目(存储库?)检出(或应该说克隆?)到特定目录中。我们已经尝试了一些refspecs魔术,但是了解和成功使用它并不太明显。 此外,如果在同一个Jenkins项目中,我们需要将几个私有GitHub存储库检出到项目根目录下的几个单独的目录中,我们该怎么做

  • 问题内容: 我正在尝试删除程序中另一个线程以前使用过的文件。 我无法删除该文件,但不确定如何确定哪个线程正在使用该文件。 那么,如何找出哪个线程在Java中锁定了文件? 问题答案: 我没有一个直接的答案(我也不认为有一个答案,这是在操作系统级别(本机)而不是在JVM级别上控制的),我也没有真正看到答案的价值(一旦发现文件所在的线程,您仍然无法通过编程方式关闭该文件),但是我想您还不知道无法删除通常

  • 我有一个JFace(带有底层SWT)。 树包含多行和多个级别。 我希望能够找到一个特定的树节点(通过文本标签比较),扩展到它的水平,并选择该项。 主要问题是我无法遍历,因为树以LAZY模式加载所有内容。 也许有一个选项可以通过搜索模型直接访问树项?