2012-02-07 90 views
0

我正在创建一个应用程序,尝试注入需要事件时间的触摸事件。当我调用SystemClock.uptimeMillis()获取时间时,会出现运行时错误。我认为这个问题是由uptimeMillis()是一个本地方法的事实引起的。运行时抛出的错误是一个UnsatisfiedLinkError。从Android项目调用本地方法

该项目中包含了android jar文件,允许编译时不会出现任何错误。我认为问题是Java包装(SystemClock.java)在项目中可用。但是,在运行时无法找到C中的本地方法(来自文件android_os_SystemClock.cpp)。在构建项目时如何包含本地方法(java包装器所需)的任何想法?

非常感谢!

+0

您不能使用System.currentTimeMillis()吗? – caiocpricci2 2012-02-08 06:24:41

+0

你得到的运行时错误到底是什么? – 2012-02-08 08:48:41

+0

不,我不能使用System.currentTimeMillis()。它必须是SystemClock.uptimeMillis()(如Android中InjectPointerEvent()的文档中指定的那样)。 我在本机函数android.os.SystemClock.uptimeMillis()中得到一个UnsatisfiedLinkError – user1193425 2012-02-08 18:51:54

回答

3

您可以将NDK项目导入到Eclipse SDK项目中。在您的项目上,右键单击并选择 - > Android工具 - >添加本地支持 - >单击完成。 这会将您的原生项目文件拖放到Eclipse中。现在您必须实现几个示例项目中给出的功能。

相关问题