30

我正在制作一个电子邮件应用程序,它在这个问题的标题中给出了错误。我该如何解决这个问题?如果有助于找到解决方案,我将提供我的代码截图。

在此处输入图像描述

4

7 回答 7

36

对此有官方解决方案:

允许 libs/ 中的 3rd 方 jar 的 src/doc 附件

由于这些 jar 是通过类路径容器动态添加的,因此开发人员无法通过 Eclipse UI 设置源路径和 javadoc(容器不允许编辑它们)。为了解决这个问题,并确保两个路径不仅被当前项目拾取,而且被其他项目拾取(如果当前项目是库项目),该值由位于 jar 文件旁边的文件设置. 该文件是 jar 文件后的名称,在末尾添加 .properties。例如 foo.jar -> foo.jar.properties 它目前可以包含 2 个属性: src:源文件夹(或存档)的相对或绝对路径。doc:javadoc 的相对或绝对路径。

https://android-review.googlesource.com/#/c/35702/

编辑:Google I/O 2012 视频中的解释

例如,对于 Joda-Time 2.1:

cd $PROJECT/libs
touch joda-time-2.1.jar.properties

并插入以下内容,确保路径正确:

src=/Users/josh.oneal/SDKs/joda-time-2.1/joda-time-2.1-sources.jar
doc=/Users/josh.oneal/SDKs/joda-time-2.1/joda-time-2.1-javadoc.jar

您现在可以在 Eclipse 中右键单击您的项目并刷新,然后 Command / Ctrl + 单击一个类DateTime以查看其源代码。

于 2012-09-28T12:13:32.030 回答
10

似乎是他们在 ADT r17 中故意破坏的东西。请参阅http://code.google.com/p/android/issues/detail?id=27490#c6

于 2012-04-12T13:10:45.137 回答
10

当您使用 eclipse 时,您可以通过选择您的库项目并转到 Properties > Order and Export 并将您的 src 依赖项移动到 gen 依赖项之上来修复它。你也可以手动编辑你的 .classpath 文件来做同样的事情。清理此项目后,源附件应该可以工作。找出解决方案的功劳归于 NightCrawler

于 2014-01-09T17:07:38.153 回答
3

请注意评论 8 中的解决方法

http://code.google.com/p/android/issues/detail?id=27490#c8。“您好,我对评论 3 中描述的问题有解决方案:

  1. 将内容从 libs 文件夹移回 lib,因为 ADT 17 会自动将所有 jar 从 libs 目录添加到 Android 依赖项下。
  2. 从您的 lib 目录添加依赖项作为普通的 eclipse 依赖项(ADT 17 之前的旧方式)。将 JAR 文件与其源 JAR 文件或 Javadoc 链接起来。
  3. 在 Project properties -> Java build path -> Order and export 中检查所有添加的依赖项以包含在项目类文件中。
  4. 选择 Android 工具 > 修复项目属性"
于 2012-07-02T07:52:30.383 回答
2

使用 javax.mail 访问 gmail 时遇到了同样的问题。根据此链接(http://stackoverflow.com/questions/6546926/could-not-find-class-error-when-trying-to-upload-a-video-to-youtube-using-the-gd),它和Android似乎存在某种问题。

我通过使用这个 JAR 文件解决了它,这里:http ://code.google.com/p/javamail-android/

于 2012-12-11T11:22:15.783 回答
2

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

这正在使用 IDE,并且始终有效。最简单的解决方案。

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

导入eclipse你希望能够看到调试过程的源代码的库。

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

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

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

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

于 2014-04-16T10:01:36.343 回答
0

也试试这个解决方案:转到项目文件夹并打开.classpath文件。classpathentry这里以这种方式重新排序

<?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>

第一个是<classpathentry kind="src" path="src"/>,第二个 - <classpathentry kind="src" path="gen"/>。就我而言,它解决了所有问题。

于 2014-10-15T10:46:34.170 回答