4

我试图在我的 Android-Project 中引用一个纯 java-Project -> Java-Project 有一大堆我需要使用的类。哦,正如第一个响应指出的那样:我正在使用 eclipse,是的 :)
唯一的问题是:我总是找不到类 'XXX',从方法 com.example.helloworld.MainActivity.onCreate 引用。我似乎错过了一些步骤或错误......?
我已经做了什么:

  • 项目作为项目添加到 Java 构建路径中(逻辑上必要)
  • 它在 Java Build Path 中的“Order and Export”中标记并推到顶部(这解决了其他人在处理 Jar 文件时的问题)
  • Ir 在项目设置的“项目参考”中标记。
  • 我在构建路径中添加了相关类位于“库”下的文件夹......我不确定这是否应该是必要的。

我引用的 Java 项目有一大堆 Jar,但如果这是原因,我不应该得到不同的错误消息吗?

4

3 回答 3

2

我遇到了同样的问题,经过几个小时的挫折和搜索,我终于在这里找到了答案: Android,从导入的 jar 文件中找不到类

基本上,问题在于引用的纯 java 项目或生成的 jar 是使用 Java 1.7 构建的,而 Android 项目设置为使用 1.6。

于 2013-09-22T16:05:42.967 回答
1

有两种方法可以做到这一点。

  • jar 那个 java 项目并将 jar 复制到你的 Android 项目的 libs 文件夹中。
  • 将项目作为依赖项目添加到您的 Android 项目中

两者都工作得很好。

但是请注意,这个纯 java 项目必须添加 android.jar 而不是 rt.jar 之类的东西 :)。否则你会得到 Dalvik 异常。

编辑:不要忘记刷新和项目 - 清理你的 android 项目。

于 2013-09-23T03:17:30.560 回答
0

要检查两件事(您提到您正在使用 Eclipse):

  1. 如果您的 android 项目需要使用 pure-java 项目的 JAR,请检查这些 JAR 是否在 pure-java 项目的构建路径选项中导出。这是您尝试包含的纯 java 项目的构建路径,而不是尝试包含它的 android 项目的构建路径。在纯 java 项目的“订购和导出”选项卡下,注意注释“导出的条目被贡献给依赖项目”。在这种情况下,您的 android 项目是依赖项目,您的纯 java 项目需要做贡献。

  2. 确保除了你的 android 项目之外,pure-java 项目实际上是在 IDE 中打开的。可能微不足道,但有时会被忽视。

如果答案不够,您可能希望提及丢失的类是否在 .java 源文件中,或者它们是否仅在纯 java 项目的构建路径中的 JAR 中找到

编辑:要进一步追查问题,请确认以下内容以确保我理解您的问题:

  1. pure-java 项目确实在 IDE 中成功构建

  2. 'class not found' 错误是您在尝试 -build- android 项目时遇到的错误,而不是在尝试 -run- 它时遇到的错误。

  3. CLASSPATH(又名构建路径)可能很难解开。如果包含项目不起作用(假设它确实构建了),您可以尝试构建纯 Java 项目的 JAR 并将其和所有其他 JAR 复制(并包含)到您的 android 项目中。

  4. android SDK 确实使构建环境复杂化。找出问题是否是(A)您的 android 项目设置)或(B)pure-java 项目的打包方式)的一种方法是创建一个不同的纯 java 项目并尝试包含第一个项目,最好使用 -如果可能的话,完全相同的代码行会在 android 项目中为您提供构建错误。

于 2013-04-18T10:02:58.113 回答