我可以在 Android 项目中使用 Java 项目,即使 java 项目中的某些类在普通 android 项目中无法识别吗?例如 javax.xml 包?
我认为有两种可能性:
- 要么用那个 java 项目创建一个 jar 并将其导入 android
- 或者引用 android 中的项目(据我所知这是可能的)。
但无论哪种方式,那些在 java 中找到但在 android 中找不到的类在我的 Android 应用程序中是否可以?这行得通吗?谢谢你。
我做了JavaProject,然后导入到我的Android Project中作为引用。我收到一个我没有预料到的错误,它无法识别我的 Java 项目中的 .classes。
最佳答案
如果您使用的是 Eclipse(带有 ADT 插件),您可以在 Android 项目的构建路径中引用 Java 项目。这会将这些类打包到您的 .apk 输出中,并允许您在您的应用中使用它们。
正如您在评论中指出的那样;将 Java 项目引用为 Android 库在您的情况下不起作用,因为 javax.* 包的存在将导致 Eclipse 中的编译时错误。在这种情况下,您将需要选择选项 1 并从您的 Java 项目构建一个 Jar 文件并包含它 as explained here .这样,需要 javax.* 的类文件就不会产生任何编译/运行时错误除非您尝试使用它们。无论哪种方式,使用 Java 构建路径 都不会像您期望的那样工作 - 类文件没有以这种方式 bundle 。
Android平台提供some of javax.xml ,但不是整个包(阅读 this document 以获得更多详细信息)。通常最简单的解决方案是编写一个与受影响的 Java 代码等效的 Android 代码,它不需要缺少的依赖项,并且 bridge 2 种实现,因此每个项目都使用正确的一种。
关于java - 在 Android 应用程序中导入 Java 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129109/