如何从Android Gingerbread中的libmedia_jni访问自己的libmediaplayerservice库

Suv*_*Roy 6 android android-ndk stagefright android-mediaplayer

默认情况下,android Gigerbread 2.3使用PV_Player(opencore库).我找到了一个解决方案,它应该是修补系统build.prop文件,但我不想修补系统.我想使用Android媒体框架工作创建我自己的库,它将使用StageFright播放器.我知道libmediaplayerservice决定了玩家的选择.看看媒体框架

我想根据android框架创建库 -

  • libmedia_jni_own
  • libmedia_own
  • libmediaplayerservice_own

    但问题是libmedia不直接与libmediaplayerservice库交互,它不直接依赖于libmediaplayerservice库.因此它无法创建stagefright播放器.Libmedia通过Binder IPC机制与libmediaplayerservice库进行通信.我如何修补libmedia源库,以便它可以访问我的libmediaplayerservice库,并能够创建StageFright播放器以及StageFright记录器等的所有访问,而不是opencore库.

  • Phu*_*yen 1

    我认为您无法在不修补系统的情况下修改媒体服务的工作方式。由于媒体服务及其库位于系统分区上,因此您实际上没有任何方法可以劫持 jni 负载。如果您运行的是非 AOSP ROM(例如库存三星、HTC 等),您将无法仅交换库,因为库存 ROM 中的库包含大量与专有库的链接。