Мне нужно вызвать эту функцию virtual sp<IOMX> getOMX();
в /framework/base/media/libmediaplayerservice/MediaPlayerService.h чтобы получить некоторую информацию в Android. Поэтому я использую JNI сделать это. Тем не менее, в коде C ++, я могу назвать функции C ++ платформы Android, как getOMX()
? Как сделать? Благодарю.
При использовании любых API, которые не являются «стабильными» с точки зрения Документ NDK, ты играешь с огнем. Но когда дело доходит до getOMX()
Огонь не очень горячий.
Вы можете получить заголовки из исходного кода AOSP, например,
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 .
чтобы получить эту библиотеку из эмулятора или с физического устройства.
Других решений пока нет …