Linux上FFmpeg生成so库

我用的是ubuntu做开发的,之前使用过centos7去编译的  感觉太麻烦出错了,从朋友那得知ubuntu和debian 是适用于开发的
1. cd /home/    切换到home 目录
2.mkdir ndk   在home目录下新建文件夹 ndk
3.把linux版的ndk上传到ubuntu服务器上
4.cd /home/     切换到home 目录
5. mkdir ffmpeg   新建ffmpeg文件夹
6.把ffmpeg压缩包上传到该目录下
7.安装软件
1)vim              安装命令  sudo apt-get install vim-gtk  查看是否安装成功 vim
2)unzip         安装 命令  sudo apt-get install unzip       压缩文件  例如: unzip  ffmpeg-2.6.9.zip
3)dos2unix   安装 命令  apt-get install dos2unix            改文件格式  例如   dos2unix android_build.bash
4)make         安装 命令  apt-get install make                   方便后面Configure的使用
5)zip            压缩命令  zip  android.zip  android 
8.修改文件
1)vim
vim /etc/vim/vimrc
尾部增加代码

set nu                           // 在左侧行号

set tabstop                  //tab 长度设置为 4

set nobackup               //覆盖文件时不备份

set cursorline               //突出显示当前行

set ruler                       //在右下角显示光标位置的状态行

set autoindent             //自动缩进

    
2)
cd~
ls
vim   ~/.bashrc  进入配置环境变量(~代表用户
尾部增加代码
export NDKROOT=/home/ndk/android-ndk-r10e   目录自己根据自己的服务器去改
export PATH=$NDKROOT:$PATH
ESC退出 shift zz
source ~/.bashrc  更新环境变量
ndk-build -v 
ndk-build

vim如何操作?
命令模式是不能写东西  要写东西  输入 i
不保存退出(强制退出) shift +:q!
保存退出  shift+ z z 或者 shift+:wq!
进入编辑模式 输入i
退出编辑模式进入命令模式 Esc
9.解压上传的linux ndk
cd ../   切换上机目录
chmod 777 -R ndk
ls 查看子文件 可以发现要解压的文件呈绿色显示
cd  ndk 切换到目录下
./android-ndk-r10e-linux-x86_64.bin
10.解压ffmpeg
上同处理文件、压缩包 需要权限 cd ../   chmod 777 -R ffmpeg
unzip ffmpeg-2.6.9
11.新建android_build.sh文件
    touch android_build.sh
    通过xftp把文件传到本地
    并把本地代码考入,且做出相应更改
#!/bin/bash
make clean
export NDK=/home/software/android-ndk-r10e
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"

./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
ndk 目录自己更改
12.把configure文件  从linux服务器上 pull下来
进行更改 
 #update 之前是为更改代码 |  #update 之后是  更改后的代码  (是为了避免后缀名的错误)
#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)'

#update

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
13编译
切换到ffmpeg-2.6.9目录下shell命令 ./android_build.sh

你可能感兴趣的:(Android)