windows10下安装双系统,这个流程百度一下一大把资料。
1.ubuntu-18.04.3-desktop-amd64.iso 驱动器
2.安装VMware Workstation Pro
3.配置linux下配置ndk环境
4.下载ffmepg
第一步
下载ubuntu-18.04.3-desktop-amd64.iso下载后打开ubuntu-18.04.3-desktop-amd64.iso
在设备和驱动器下会显示DVD驱动器。
第二部
下载VM不建议下载到系统盘
然后创建新的虚拟机
linux桌面打开terminal命令板进行ndk和ffmpeg文件的下载
使用wget 命令下在ndk:wget https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
unzip android-ndk-r20-linux-x86_64.zip
在file 可以看到解压后文件夹
配置linux ndk 的环境变量 在terminal 中输入vim ~/.bashrc 进行配置
本人建议直接使用sudo gedit ~/.bashrc 命令编辑环境变量。
第二种方法 vim /etc/profile 中配置 或者使用如果有权限的话使用sudo gedit /etc/profile进行配置
直接文件末尾添加
export NDK=/home/xq/android-ndk-r15c
export PATH=$NDK:$PATH
重启测试环境命令:
echo $PATH
ndk-build -v 打印出:
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
ndk环境配置成功
下载ffmpeg命令 我这边目前用的都是最高版本 wget http://ffmpeg.org/releases/ffmpeg-4.2.tar.gz
如果想要查看ffmpeg的版本http://ffmpeg.org/releases这个网址
解压tar 命令:tar -xzf ffmpeg-4.2.tar.gz 解压前先看下文件路径是否在当前的路径下 输入 dir查看当前路径下文件。
解压后赋予权限/赋予权限的指令 chmod 777 ffmpeg-4.2
接下来修改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)'
然后创建编辑touch build.sh sh脚本内容:
#!/bin/bash
make clean
export NDK=/home/xq/android-ndk-r15c
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/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
然后在ffmpeg路径下执行脚本,然后就出现了一系列的文件找不到问题。总之一系列坑
解决Makefile:2: ffbuild/config.mak: No such file or directory找不到的问题,在执行sh脚本前先执行./configure
这块也有坑,可所谓一步一坑啊!找不到yasm 直接装一个sudo apt-get install yasm 然后在执行sh脚本。这时发现编译的文件找不到了明明配置好prefix为啥没有,头疼然后就百度不过还时找到的
系统默认给编译到了/usr/local路径下的includ和lib文件夹里了。整的时一头雾水。