我可以在独立项目中使用android.os。*库吗?

时间:2010-05-02 23:42:19

标签: java android android-emulator android-source

我正在尝试开发一个外部库(不确定这是否是正确的术语),以便在Android项目中提供预先打包的功能。在Eclipse中工作,我已经将相应的android.jar文件添加到构建路径中,在编辑和编译时一切都很愉快。

但是,当我使用Android的Handler和Message类(android.os.Handler,android.os.Message)进行线程间通信时,除非我在Android应用程序,模拟器或运行中运行,否则会出现异常设备。我无法再以“独立”的方式测试我的库,而无需通过正在运行的Android目标。

有没有办法让我包含这两个Android类,并且仍然能够独立测试我的库?我是否需要提供Android源代码?或者它需要某种条件汇编挥手吗?

2 个答案:

答案 0 :(得分:4)

  

有没有办法让我加入   这两个Android类仍然是   能够独立测试我的图书馆吗?

不容易,无论如何我都能想到。

  

我是否需要安装Android源代码   可用?

我不知道你从哪里获得实现。但是,更重要的是,这些东西不是为了在操作系统之外单独工作而设计的,只要你可以抓住一两个Cocoa类并将它们拉入你的Objective-C库并期望它们在Windows机器上运行。

关闭袖口,对你正在构建的内容一无所知,我会在HandlerMessage上做出更多可插拔的依赖。使用纯Java实现在Android之外进行测试,甚至可能只是一些模拟。使用真实的实现在Android内部进行测试。

答案 1 :(得分:1)

您可以尝试使用lib Robolectric,它实现了Android API,因此您可以为您拥有的某些隔离代码创建JUnit测试:

http://robolectric.org/