在Android项目中引用(纯java)项目(找不到类)

时间:2013-04-18 09:51:29

标签: java android eclipse noclassdeffounderror buildpath

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

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

Java-Project I引用有大量的Jars,但如果这是原因,我应该得到不同的错误消息吗?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,经过几个小时的挫折和搜索后,我终于找到了答案: Android, class not found from imported jar file

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

答案 1 :(得分:1)

两种方法。

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

两者都很精彩。

但是请注意,这个纯java项目必须添加android.jar而不是rt.jar :)。否则你会得到Dalvik例外。

编辑: 别忘了刷新和Project - 清理你的android项目。

答案 2 :(得分:0)

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

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

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

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

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

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

    2. “找不到课程”错误是您在尝试和建立Android项目时获得的错误,而不是在您尝试使用-run-时错误。

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

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