美文网首页
LameMP3之Ubuntu+NDK编译(一)

LameMP3之Ubuntu+NDK编译(一)

作者: 放羊娃华振 | 来源:发表于2019-09-29 15:01 被阅读0次

导语:
在安卓的开发过程中会涉及到多媒体的处理,刚研究这块的东西的时候也是各种搜索,但是很多的帖子还是不够详细的,我按照步骤各种操作还是失败了。所以写下帖子记录自己的编译历程。
一、lame下载:
下载地址:https://sourceforge.net/projects/lame/files/lame/
二、把下载的源码解压到特定的目录下:

image.png
1.在lame-3.99.5目录下创建shell脚本:build-lame.sh
#!/bin/bash
NDK_HOME=/home/storm/plagin/ndk/android-ndk-r14b
ANDROID_API=android-21
SYSROOT=$NDK_HOME/platforms/$ANDROID_API/arch-arm
ANDROID_BIN=$NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
CROSS_COMPILE=${ANDROID_BIN}/arm-linux-androideabi-
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
 
ARM_INC=$SYSROOT/usr/include
ARM_LIB=$SYSROOT/usr/lib
 
LDFLAGS=" -nostdlib -Bdynamic -Wl,--whole-archive -Wl,--no-undefined -Wl,-z,noexecstack  -Wl,-z,nocopyreloc -Wl,-soname,/system/lib/libz.so -Wl,-rpath-link=$ARM_LIB,-dynamic-linker=/system/bin/linker -L$NDK_HOME/sources/cxx-stl/gnu-libstdc++/libs/armeabi -L$NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/arm-linux-androideabi/lib -L$ARM_LIB  -lc -lgcc -lm -ldl  "
 
FLAGS="--host=arm-linux --enable-static --disable-shared"
 
export CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}"
export LDFLAGS="$LDFLAGS"
export CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}"
CPU=armv7-a
 
./configure $FLAGS \
--prefix=$(pwd)/android/$CPU

2.修改文件的可执行权限:

 chmod 777 -R build-lame.sh

3.运行编译脚本

 suod ./build-lame.sh
 make
 make install

4.都执行结束之后就可以看到结果了:


image.png

至此就已经在ubuntu下成功编译号.a文件了。后续的使用我们在慢慢的实现。

相关文章

  • LameMP3之Ubuntu+NDK编译(一)

    导语:在安卓的开发过程中会涉及到多媒体的处理,刚研究这块的东西的时候也是各种搜索,但是很多的帖子还是不够详细的,我...

  • 网站分享

    一 项目相关 移植Lamemp3到Android MediaRecorder简单的使用 Android录制视频 二...

  • Build settings探究之—编译优化

    Build settings探究之—编译优化 Build settings探究之—编译优化

  • 移植Lamemp3到Android

    环境配置 为了使用在Android中使用JNI,需要配置Android NDK的环境, Android NDK 配...

  • Forward declaration of class her

    意思是WgUserModel编译时父类WgBaseObject还未编译,一般是在pch文件里父类没有在子类被编译之...

  • AOP

    一、实现方式 1. AOP 实现之 ajc 编译器 在编译时期,通过使用ajc编译器对class文件进行修改增强功...

  • go编译iOS静态库

    1、编译实体机版本 编译完成之后建议拷贝到一个新的文件夹。为后面合并.a做准备 2、编译模拟器版本 同样编译完成之...

  • 编译(一)入口

    回忆之编译入口 编译,其实就是vue对模版指令和内置组件的处理。 编译我们最终执行的是compileToFunct...

  • Android安全机制之反编译

    博文出处:Android安全机制之反编译,欢迎大家关注我的博客,谢谢! 今天我们就来探讨一下反编译,其实反编译在我...

  • Android 编译之android.mk

    引言 Android编译知识的梳理文章共三篇: Android 编译之make基础[https://www.jia...

网友评论

      本文标题:LameMP3之Ubuntu+NDK编译(一)

      本文链接:https://www.haomeiwen.com/subject/nwhpyctx.html