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)了


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

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




0 0
原创粉丝点击