求助有谁解决过这样的问题 static inline void *LoadSurface(const char *psz_lib, vout_display_sys_t *sys) {
void *p_library = dlopen(psz_lib, RTLD_NOW);
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface 1!");
if (p_library) {
sys->s_lock = (Surface_lock)(dlsym(p_library, ANDROID_SYM_S_LOCK));
sys->s_unlockAndPost =
(Surface_unlockAndPost)(dlsym(p_library, ANDROID_SYM_S_UNLOCK));
if (sys->s_lock && sys->s_unlockAndPost) {
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface success 2!");
return p_library;
}
dlclose(p_library);
}
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface error 3!");
return NULL;
}在4.0上运行dlopen系统SO库时失败,无法打开。我试过用罪行的NDK-r7b进行编译,但是也不好使。是不是Android4.0加了更高级的访问权限,导致系统SO禁访了
void *p_library = dlopen(psz_lib, RTLD_NOW);
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface 1!");
if (p_library) {
sys->s_lock = (Surface_lock)(dlsym(p_library, ANDROID_SYM_S_LOCK));
sys->s_unlockAndPost =
(Surface_unlockAndPost)(dlsym(p_library, ANDROID_SYM_S_UNLOCK));
if (sys->s_lock && sys->s_unlockAndPost) {
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface success 2!");
return p_library;
}
dlclose(p_library);
}
__android_log_print(ANDROID_LOG_ERROR, "faplayer", "LoadSurface error 3!");
return NULL;
}在4.0上运行dlopen系统SO库时失败,无法打开。我试过用罪行的NDK-r7b进行编译,但是也不好使。是不是Android4.0加了更高级的访问权限,导致系统SO禁访了
解决方案 »
- 安卓手机在windows系统中如何判断Usb调试是否开启
- android 布局式跑马灯,非TextView
- 一个android小问题
- 图表中鼠标点击显示数据的问题
- android里怎么建立一个VPDN拨号连接?
- Service与ContentProvide的多实例与多线程问题
- [android] Fragment嵌套与返回键问题
- android主、副mic,副mic录音声音小,几乎听不见
- 【求助】写着的程序实验,停止工作,求助
- 求救啊,这个SetOnClickListener里面的buttonlistener为什么会报错啊
- 详细说一下我的问题,希望大家帮帮我
- 编译android 4.0.3的时候出现错误。
LOCAL_SHARED_LIBRARIES := \
libpsz_lib void *p_library = dlopen("./psz_lib.so", RTLD_NOW);应该没有问题
我用的vlc移植版本位: https://github.com/tewilove/faplayer/tree/message-player
并且方法名也用很多变化。 修改方法:
修改androidsurface.c代码。# define ANDROID_SYM_S_LOCK "_ZN7android7Surface4lockEPNS0_11SurfaceInfoEPNS_6RegionE"//_ZN7android7Surface4lockEPNS0_11SurfaceInfoEb _ZN7android7Surface4lockEPNS0_11SurfaceInfoEPNS_6RegionE
#endif
#ifndef ANDROID_SYM_S_UNLOCK
# define ANDROID_SYM_S_UNLOCK "_ZN7android7Surface13unlockAndPostEv"//_ZN7android7Surface13unlockAndPostEv
#endif....static void *InitLibrary(vout_display_sys_t *sys) {
void *p_library;
if ((p_library = LoadSurface("libsurfaceflinger_client.so", sys)))
return p_library;
return LoadSurface("libui.so", sys);
} 希望对用vlc的朋友有帮助!