EasyDarwin编译armeabi版本的so库

  编译的过程是在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/bash
NDK=/home/AndroidNDK
PLATFORM=$NDK/platforms/android-9/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt
function 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=arm
PREFIX=$(pwd)/android/$CPU
ADDI_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)了


----------------------------------------------------------我是华丽丽的分割线----------------------------------------------------------

附注:静静地等待晚上的补齐;顺便附上我汪帅气的照片




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值