【问题标题】:The jar of this class file belongs to container 'Android Dependencies' which does not allow source modifications to source attachments on its entries此类文件的 jar 属于容器“Android Dependencies”,该容器不允许对其条目上的源附件进行源修改
【发布时间】:2013-09-27 08:25:42
【问题描述】:

我有一个库项目和另一个使用库项目中的一些类的项目。一旦我在其中一个库类中设置断点,并且我的应用程序在断点处停止,Eclipse 就会向我显示错误消息

找不到来源

这个类文件的jar属于容器'Android Dependencies' 不允许对其上的源附件进行源修改 条目

有人可以帮我吗?

【问题讨论】:

  • 这不是您要调试的类的源代码。这是一个 .class 文件,它不是源文件。

标签: android debugging


【解决方案1】:

我在一个 gradle Java 项目中遇到了类似的问题,但消息是这样的: “此类文件的 jar 属于容器 'Gradle.Dependencies',它不允许对其条目上的源附件进行源修改”

在我的情况下,原因是因为我的项目依赖于生成 jar 的其他项目并且这些项目没有更新。因此,解决方案是在每个项目中再次执行所有干净的构建命令,并在我需要运行调试的地方重新部署项目。

【讨论】:

    【解决方案2】:

    我终于找到了真正最简单的解决方案。

    如果您有一个复杂的结构,其中一个库项目使用一个库,并且该库项目用于您的项目,依此类推。或者在任何情况下......这样做来解决这个问题:

    导入eclipse你想要的库,可以看到调试过程的源代码。

    通过右键单击项目 > 属性 > Android 标记 Is Library 选项

    然后转到所有使用该库的库项目, 并右键单击项目 > 属性 > Android > 添加 > 并选择您的库。

    然后,转到您的项目和在 Project>Properties>Android>Library_name 中的库项目,单击删除并再次添加它,以便能够假设库项目中的更改。

    仅此而已。它只是使用库本身的项目,而不是仅使用您要查看源代码的库的jar。

    对于帮助您实现此功能的任何问题,请写信给我。

    【讨论】:

      【解决方案3】:

      我找到了答案!

      不知何故(不要问我为什么)Eclipse 弄乱了我的库项目类路径文件。它以错误的顺序列出了“src”类路径条目(参见下面的附件)。

      看起来目前只有第一个条目被导出到 libraryproject.jar,它由我的 app-project 使用。 因此,只有 gen-sources 被附加,而不是 src 目录中的源。

      【讨论】:

      • 也可以在 Eclipse 项目属性对话框中更改顺序。我想我不小心改变了那里的顺序......
      • 在哪里可以找到该文档?
      • 它位于项目的根目录中:.classpath(隐藏文件,因此您必须在控制台中查看或在操作系统首选项中编辑可见性设置)
      【解决方案4】:

      这是 ADT 17 报告的一个问题,您可以找到解决方案 here

      【讨论】:

      • 谢谢。我试图将 library.jar.properties 文件放在 library.jar 文件旁边,该文件是在 library 项目的 bin 文件夹中生成的。它与我的应用程序项目中引用的相同 jar 文件。然而,这根本没有帮助。属性文件的内容是:src=../src/
      • Further R20(应该会修复该错误)于去年发布。我拥有所有 SDK 组件的最新版本,所以我应该不会对库项目有任何问题,对吧?
      猜你喜欢
      • 2012-04-21
      • 2016-05-05
      • 2011-01-05
      • 2015-06-20
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多