2012-03-02 116 views
3

我需要扩展android.hardware.Camera类的功能,因此我编写了自己的类和伴随JNI库以满足我的需求。如果我将我的JNI代码和Android.mk文件放在Android源代码树中并构建操作系统,我的库就可以构建,并且我可以在应用程序中使用它和Java类(至少在评估模块上)。使用Android NDK访问硬件

问题是我宁愿用NDK构建我的JNI库,但我需要几个不在NDK中的库(例如libandroid_runtime和libcamera_client)。

是否可以使用NDK来访问硬件,如相机?如果是这样,访问操作系统库的正确方法是什么?

回答

0

您可以访问来自NDK的非标准共享库,但它没有记录,并且不能保证可以在不同的设备上工作。像HTC,Samsung和其他厂商可以简单地实施它们。

如何使用NDK中不具备的功能的恰当方式是用Java classe/functions包装它,然后从本机代码中使用它们。