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

时间:2010-11-16 08:45:13

标签: android unit-testing java

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

然而,现在我可以看到它如何在我有兴趣创建的Android应用程序中有用。

我现在是否必须重新编写针对android sdk的所有代码/测试,或者我可以直接删除现有的JAR文件,并仅将UI用于UI层。

它只是android似乎使测试方式比它需要的更难,并且我有很多现有的测试编写和工作,如果它不是很难写一个快速单元测试(标准Junit @Test风格)我wouldnt心灵移植,但我只是没有得到整个仪器的东西,因为我现在不需要UI ...

无论如何回到这一点,我可以在Android应用程序中使用我现有的JDK构建代码吗?

2 个答案:

答案 0 :(得分:2)

没有!

Android使用来自项目和谐的“Dalvik”VM,它使用与标准Java JVM字节码无法匹配的不同字节码集。

这样做既可以优化虚拟机在移动平台上的运行,也可能更重要的是尝试避免与Sun及现在甲骨文的版权和专利纠纷。

更多信息here

但是有一个名为“dx”的工具可以在开发环境中执行转换。

答案 1 :(得分:2)

好的,让我清理你的困惑。

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

但是,在你的情况下,因为它的applet具有不同的应用程序生命周期,你可能需要重新执行它才能使它在android中运行。

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