EasyDarwin编译armeabi版本的so库
来源:互联网 发布:mysql下载mac 破解版 编辑:程序博客网 时间:2024/06/03 18:27
编译的过程是在Mac + Parallels + Ubuntu 14的环境(Linux)下完成的。
1,新建home文件夹,然后在其中创建AndroidNDK和FFmpeg文件夹,分别用来放置ndk和ffmpeg源码;
2,下载ndk,并配置ndk开发环境
3,去FFmpeg官网(http://ffmpeg.org/)下载源码,解压(命令: )到FFmpeg文件夹中
4,复制一份version.sh,然后将其重命名为build_android.sh(这样做可以保证不会出现编码的问题,至少我是这么认为的),然后修改其文件内容,如下():
#!/bin/bashNDK=/home/AndroidNDKPLATFORM=$NDK/platforms/android-9/arch-arm/PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuiltfunction build_one{ ./configure --target-os=linux --prefix=$PREFIX \ --enable-cross-compile \ --enable-runtime-cpudetect \ --disable-asm \ --arch=arm \ --cc=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-gcc \ --cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \ --disable-stripping \ --nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm \ --sysroot=$PLATFORM \ --enable-gpl --disable-shared --enable-static --enable-small \ --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug \ --extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"}CPU=armPREFIX=$(pwd)/android/$CPUADDI_CFLAGS="-marm"build_one
需要说明的是:
1)
--disable shared --enable static 打成一个so库的设置
--enable shared --disable static 打成多个so库的设置
2)
前三行需要设置为自己本地的NDK环境变量,就是NDK PLATFORM PREBUILT
(因为我知道的,就这么多)
5,修改configure中的内容
修改前
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'修改后
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'SLIB_INSTALL_LINKS='$(SLIBNAME)'
6,开始执行命令./configure
7,执行命令./build_android.sh
8,执行完毕后,当前目录下会多出一个android的文件夹(Parallel里的Ubuntu文件不能实时刷新),里面的文件夹armeabi就是我们所需要的
9,去github上下载EasyDarwin/EasyAudioDecoder,地址是https://github.com/EasyDarwin/EasyAudioDecoder,并解压,得到文件夹EasyAudioDecoder-master
10,将armeabi复制到EasyAudioDecoder-master\Android\AudioCodec\jni\ffmpeg文件夹下
11,打开Application.mk,将内容改为APP_ABI := armeabi,保存,关闭
12,在jni目录下执行命令ndk-build
13,在EasyAudioDecoder-master\Android\AudioCodec\libs下就能拿到所需要的so库(libAudioCodecer.so)了
----------------------------------------------------------我是华丽丽的分割线----------------------------------------------------------
附注:静静地等待晚上的补齐;顺便附上我汪帅气的照片
- EasyDarwin编译armeabi版本的so库
- NDK编译的so文件armeabi和armeabi-…
- Android armeabi的so库兼容问题
- Android NDK编译中在libs\armeabi中加入第三方so库文件的方法
- 解决在用ndk编译c++文件后libs/armeabi下的第三方so文件被删的问题
- armeabi,armeabi-v7a,x86,mips,arm64-v8a,mips64,x86_64下的so文件
- >Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86、x86_64下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- vs2015编译EasyDarwin开源流媒体服务器Linux版本调研
- vs2015编译EasyDarwin开源流媒体服务器Linux版本调研
- drawRect-饼状环形图
- 跟我一起云计算(3)——hbase
- 最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
- 周期串 (Periodic Strings, UVa455)
- Hibernate与 MyBatis的比较
- EasyDarwin编译armeabi版本的so库
- LeetCode 447. Number of Boomerangs
- MongoDB数据文件结构
- ie9中css3 ransform: rotate()
- MongoDB安装时出现的问题
- 外观模式Facade
- BIO通信模型图
- phpstudy域名配置
- spark shuffle 内幕彻底解密