代码之家  ›  专栏  ›  技术社区  ›  Grofit

Android可以使用标准构建的JAR文件吗?

  •  2
  • Grofit  · 技术社区  · 14 年前

    我很确定答案是否定的,但是我使用的是新的IntelliJ EAP版本,并且有一个我之前工作过的项目,它是针对JDK 1.6编写的,用于基于applet的应用程序。

    不过,现在我可以看到它是如何可能有用的一个android应用程序,我有兴趣创建。

    现在,我必须重新编写所有的代码/测试,以Android SDK为目标,或者我可以只删除我现有的JAR文件,而只使用Android的UI层。

    它只是Android,似乎使测试方法比它需要的,我有很多现有的测试写和工作,如果不那么难写一个快速单元测试(标准JUnit测试风格)我不介意移植,但是我只是没有得到整个仪器的事情,因为我现在不需要一个UI…

    无论如何,回到这里,我可以在Android应用程序中使用我现有的JDK内置代码吗?

    2 回复  |  直到 13 年前
        1
  •  2
  •   James Anderson    14 年前

    不!

    Android使用来自project harmony的“Dalvik”VM,它使用一组不同的字节码,这些字节码与标准的Java JVM字节码是不可比拟的。

    这样做不仅是为了优化VM在移动平台上的操作,而且可能更重要的是为了避免与Sun和现在的Oracle之间的版权和专利纠纷。

    更多信息 here

    但是有一个叫做“dx”的工具可以在dev环境中执行转换。

        2
  •  2
  •   Fred Grott    14 年前

    好吧,让我来澄清你的困惑。

    jar在编译过程中被转换为dex Dalvik字节码,因此您可以使用第三方jar libs。

    但是,在您的情况下,因为它的applet有一个不同的应用程序生命周期是的,您可能需要重新做它才能让它在android中工作。

    就测试工具在所有的java移动开发甚至JavaMe上的使用而言。这基本上意味着Junit测试是在模拟器或设备中运行的,但在android的情况下,您使用android模拟对象来测试android特定的东西。