mac下编译android下libaac,Mac 下编译SOX for android (.a静态库)

1、下载 sox源码:

git clone https://git.code.sf.net/p/sox/code sox-code

3、配置NDK环境变量(如果有不熟悉mac下配置环境变量的请参考Mac下配置环境变量)

export NDKROOT="/Users/springtom/Documents/android-ndk-r21"

export PATH=${PATH}:${NDKROOT}

4、编写shell脚本

在sox-code目录下编写脚本文件,最好拷贝一份已有脚本文件如:/sox-code/itmain.sh 然后命名为自己想要的名字如 build_android.sh。然后清空里面的内容,编写如下脚本:

#!/bin/bash

#NDK路径,这里需要替换成你自己的NDK路径

NDK_BASE=/Users/springtom/Documents/android-ndk-r21

NDK_SYSROOT=$NDK_BASE/platforms/android-28/arch-arm

NDK_TOOLCHAIN_BASE=$NDK_BASE/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64

API=28

CC=$NDK_TOOLCHAIN_BASE/bin/armv7a-linux-android$API-clang

# CXX =$NDK_TOOLCHAIN_BASE/bin/armv7a-linux-android$API-clang++

LD=$NDK_TOOLCHAIN_BASE/bin/armv7a-linux-androideabi-ld

CWD=`pwd`

PROJECT_ROOT=$CWD

./configure \

#编译产物输出路径

--prefix=$(pwd)/android_lib \

--target=armv7a \

--host=arm-linux-androideabi \

--with-sysroot=$NDK_SYSROOT \

--enable-static \

--disable-shared \

--disable-openmp \

--without-libltdl

CFLAGS='-O2' \

CC=$CC \

LD=$LD \

5、源码目录sox-code 新建android-lib文件夹(这个文件夹对应上面编译脚本中--prefix=$(pwd)/android_lib \ 所指定的文件夹)

6、修改build_android.sh执行权限

4106c3506a39

修改权限并执行@2x.png

sudo chmod +x build_android.sh

//需要输入密码

7、执行编译脚本

./build_android.sh

8、make -s && make install

make -s && make install

9、结果如下图:

4106c3506a39

编译sox结果@2x.png

正确的编译情况:

4106c3506a39

正确的编译情况1@2x.png

4106c3506a39

正确编译情况2@2x.png

一些错误情况:

1、--prefix=$(pwd)/android_lib \ 不能加引号

展晓凯的编译脚本里面就有引号,导致我没有编译通过。

--prefix= "$(pwd)/android_lib " 这种情况编译会出错

error: expected an absolute directory

4106c3506a39

错误情况1@2x.png

2、No such file or directory

或者这样的错误:

4106c3506a39

错误2@2x.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值