我已经做的事情:
- 将该项目添加为Java构建路径下的项目(逻辑上必要)。 - 在Java构建路径的“顺序和导出”中标记,并将其推至顶部(当处理Jar文件时,这解决了其他人的问题)。 - 在项目设置中,在“项目引用”中进行标记。 - 在构建路径的“库”下添加了包含相关类的文件夹...我不确定是否需要这样做。
我引用的Java项目有很多Jars,但如果这是原因,我不应该收到不同的错误消息吗?
我之前遇到了同样的问题,经过几个小时的挫败和搜索,我终于在这里找到了答案:Android,从导入的jar文件找不到类
基本上,问题是引用的纯Java项目或生成的jar是使用Java 1.7构建的,而Android项目设置为使用1.6。
有两种方法可以做到这一点。
两种方法都非常有效。
但请注意,这个纯Java项目必须添加android.jar而不是像rt.jar这样的东西:)否则你会得到Dalvik异常。
编辑: 别忘了刷新和清理你的Android项目。
有两件事情需要检查(您提到您正在使用Eclipse):
如果您的Android项目需要使用纯Java项目的JAR文件,请检查这些JAR文件是否在纯Java项目的构建路径选项中被导出。这是在您尝试包含的纯Java项目的构建路径中,而不是尝试包含它的Android项目的构建路径中。在纯Java项目的“顺序和导出”选项卡下,请注意注释“导出的条目将贡献给依赖项目”。在这种情况下,您的Android项目是依赖项目,而您的纯Java项目需要做出贡献。
确保纯Java项目实际上已经在IDE中打开,除了您的Android项目。这可能微不足道,但有时会被忽视。
如果答案不够满意,您可能需要提及缺失的类是在.java源文件中还是仅在纯Java项目的构建路径中的JAR文件中找到。
编辑:为了进一步追踪问题,请确认以下内容以确保我理解了您的问题:
这个纯Java项目在IDE中构建成功。
当您尝试“构建”Android项目而不是尝试“运行”时,您会遇到“类找不到”的错误。
CLASSPATH(也称为构建路径)可能很难解开。 如果包含该项目无法工作(假设它确实构建),则可以尝试构建纯Java项目的JAR文件,并将其和所有其他JAR文件复制(并包括)到Android项目中。
Android SDK确实使构建环境复杂化。查找问题是(A)您的Android项目设置还是(B)纯Java项目打包方式的一种方法是创建另一个纯Java项目,并尝试包含第一个项目,最好使用与在Android项目中给您带来构建错误的“精确”相同的代码行,如果可能。