SharedLib dependency @ Mixed Mode APK

  • I create an Android project in mixed mode, the project uses its own ffmpeg
  • Libs
    2.1. libavutil.so -> libavutil.so.51
    2.2. libavcodec.so β†’ libavcodec.so.54
    2.3. libavformat.so β†’ libavformat.so.54
  • My Java code includes the following JNI section for loading native libs:
    static {
    System.loadLibrary ("avutil");
    System.loadLibrary ("avcodec");
    System.loadLibrary ("avformat");
    }
  • 'libavcodec.so' depends on `libavutil.so.51 ' AND NOT on' libavutil.so '.
  • When my activity starts, System.loadLibrary ("avcodec"); except with "failed to load the desired libavutil.so.51 library" for libavcodec.so (the library "libavutil.so.51" was not found) "
  • On my Android.mk, I have the following section to add my own libraries to the APK.

    include $ (CLEAR_VARS)
    LOCAL_MODULE: = mylib
    LOCAL_SRC_FILES: = .. / .. / .. / mylib / libmylib.so
    include $ (PREBUILT_SHARED_LIBRARY)

  • replacing libmylib.so with libmylib.so.% some number% causes build failures because [LOCAL_SRC_FILES should point to a file ending with .so "]


    Bearing this in mind, how can I load libavcodec without a dependency problem?
    • libavcodec.so, libavutil.so, libavutil.so.51?
    • Android.mk, libavutil.so.51 ( .SO)? "System.loadLibrary"?.

      !


+3
1

, , , , - LGPL SharedLib .

0

All Articles