我现在在弄android 2.3.4版里的ti h264 硬编,里面有一个测试程序,我把它编译过了,
但是放到android真机里,执行却出错。我现在想是不是还要把一些测试程序用的动态库也导入真机里呀?
测试程序的Android.mk里面有一条LOCAL_SHARED_LIBRARIES这个:LOCAL_SHARED_LIBRARIES := \
$(TI_OMX_COMP_SHARED_LIBRARIES) \
        libbridge \
libOMX_Core它的意思是不是就是这个测试程序所需要的库呀?
我是不是也要把 libbridge.so 和 libOMX_Core.so这两个动态库跟测序程序的执行文件放在一起导入真机里呀?还有是不是还待把ti 编码组件的so文件(libOMX.TI.Video.encoder.so)也导进去吧?
但是为什么LOCAL_SHARED_LIBRARIES 里不加入libOMX.TI.Video.encoder这一条呢??

解决方案 »

  1.   

     $(TI_OMX_COMP_SHARED_LIBRARIES) 所指的目标也要copy到机器里面去,libbridge.so 和 libOMX_Core.so是肯定要的,全部放到机器/system/lib/目录下就行。
      

  2.   


    $(TI_OMX_COMP_SHARED_LIBRARIES) 这个变量的值是什么呀?我想知道他在那定义的呀??
      

  3.   

    lz在编ti的omx库时 在Android.mk里应该能找到 这几句TI_OMX_COMP_SHARED_LIBRARIES := \
    libdl \
    libbridge \
    libOMX_Core \
    libLCML \
    libcutils \
    liblog ifeq ($(PERF_INSTRUMENTATION),1)
    TI_OMX_COMP_SHARED_LIBRARIES += \
    libPERF这些也是需要拷贝到真机的库
      

  4.   


    非常感谢
    还有一个问题
    dlopen用这个函数打开的动态库,是不是就不用在Android.mk中的LOCAL_SHARED_LIBRARIES里加
    这个动态库了吧??