我需要扩展android.hardware.Camera类的功能,所以我编写了自己的类和伴随JNI库来满足我的需求。如果我将我的JNI代码和Android.mk文件放在Android源代码树中并构建操作系统,我的库就会构建,我可以在应用程序中使用它和Java类而不会出现任何问题(至少在评估模块上)。
问题是我更喜欢使用NDK构建我的JNI库,但我需要几个不在NDK中的库(例如libandroid_runtime和libcamera_client)。
是否可以使用NDK访问相机等硬件?如果是这样,访问OS库的正确方法是什么?
答案 0 :(得分:0)
您可以从NDK访问非标准共享库,但这是未记录的,并且不保证可以在不同的设备上运行。像HTC,三星和其他供应商可以简单地实现它们。
如果使用NDK中不可用的功能,只有正确的方法是用Java classe / functions包装它,然后从本机代码中使用它们。