1.在工程的根目录下创建libs/armeabi文件夹 即libs文件夹包含armeabi文件夹
将打包好的.so文件放到armeabi文件夹下,打包时就会放到/data/data/包名/lib/下
/////步骤1,编译器不一样armeabi将不一样
2.可以放.so文件放到/system/lib/文件夹下
模拟器
A.打开命令行启动模拟器:
..> emulator -partition-size 256 -avd 模拟器名 (解决无空间问题)
B.待模拟器加载完成之后,打开另一命令行:
..>adb remount (解决权限问题)
..>adb push C:\ffmpeg.so(文件路径相对/绝对) /system/lib
面板机
连接eclipse后,加载完成虚拟器后步骤如上B步骤
手机建议使用第一种方式。
(手机连接上eclipse后,再用命令行输入adb remount 将会失败,权限不可以更改)
3.当多个.so文件时,例如libA.so,libB.so,libC.so,libA.so是根据JNI头文件编写的c/c++文件打包而成,但
libA.so需要调用libB.so或libC.so时(libB.so,libC.so纯c/c++文件打包而成,与JNI无关),使用步骤1将会有
问题,libA.so将无法加载成功,需要使用步骤2方法。
libA.so可以放在libs/armeabi文件夹下,也可以放在/system/lib文件夹下
libB.so,libC.so必须放在/system/lib文件夹下
此FFMpeg4将使用步骤3,因为涉及有多个.so文件。目前还未解决步骤1能加载步骤3提及的情况。
- 1
- 2
- 3
- 4
- 5
- 6
前往页