编译libffmpeg.so后,编写.c文件封装libffmpeg.so,在编译.c文件时需要引用ffmpeg文件夹,需要将ffmpeg文件夹与.c文件一起放到jni文件夹下,在mk文件中编译源文件指向.c文件,然后把.so文件拷到libs文件夹下,如果提示找不到lib**库文件(cannot find lffmpeg),需要将libffmpeg.so文件拷到ndk目录的android-ndk-r8\platforms\android-14\arch-arm\usr\lib文件夹下(这里假设编译脚本里设置platform为android-14)。
其他的库文件如果找不到,应该也是类似的原因。
如java.lang.UnsatisfiedLinkError: Library hello-jni not found,也是一样的,将项目下libs\armeabi\的libhello-jni.so文件拷贝到android-ndk-r8\platforms\android-8\arch-arm\usr\lib下,方可解决。
试了一下,使用
LOCAL_SHARED_LIBRARIES := libffmpeg
代替
LOCAL_LDLIBS := -lffmpeg
就可以不用在系统目录还有ndk的目录里面拷来拷去了。