java - 在 Android 应用程序中导入 Java 项目?

标签 java android xml

我可以在 Android 项目中使用 Java 项目,即使 java 项目中的某些类在普通 android 项目中无法识别吗?例如 javax.xml 包?

我认为有两种可能性:

  1. 要么用那个 java 项目创建一个 jar 并将其导入 android
  2. 或者引用 android 中的项目(据我所知这是可能的)。

但无论哪种方式,那些在 java 中找到但在 android 中找不到的类在我的 Android 应用程序中是否可以?这行得通吗?谢谢你。 Printscreen from build path of my android app

Printscreen from build path of my android app

我做了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/

相关文章:

java - 如何禁用继承的logback?

java - 如何使用 Hibernate 保存绑定(bind)到另一个对象的持久对象列表

java - 上下文相关菜单 - Java ME

带有警告消息的 Android 警报对话框

java - KSOAP2如何更改前缀

android - 进度条周围的边框

java - jpackage 似乎打包了不应该打包的东西

android - 单例在不同平台上销毁

android - RelativeLayout 和 ViewStub 膨胀

java - 如何通过命名空间获取所有具有相同标签名的元素?