如何在JNI中调用Android框架c ++函数?

时间:2013-11-19 06:53:06

标签: android c++ java-native-interface android-source android-framework

我需要在/framework/base/media/libmediaplayerservice/MediaPlayerService.h中调用此函数virtual sp<IOMX> getOMX();以获取Android中的一些信息。所以我使用 JNI 来做到这一点。但是,在C ++代码中,我可以调用像getOMX()这样的Android框架C ++函数吗?怎么做?感谢。

1 个答案:

答案 0 :(得分:2)

当你使用NDK document方面不“稳定”的任何API时,你正在玩火。但是当谈到getOMX()时,火势不是很热。

您可以从AOSP源git获取标头,例如

git clone https://android.googlesource.com/platform/frameworks/av

#include "frameworks/av/include/media/IMediaPlayerService.h"

您还需要向链接器提供系统.so文件,在本例中为libmediaplayerservice.so。您可以使用命令

adb pull /system/lib/libmediaplayerservice.so .

从仿真器或物理设备获取此库。