Window10上在wsl2环境中编译android 10

wsl2是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销

1.wsl2 安装

详细安装过程见官方说明文档,对win10 有版本要求:

运行 Windows 10(已更新到版本 2004 或更高版本,对于 ARM64 系统则是内部版本 19041)

具体安装过程参考:wsl2的安装说明

安装Linux系统,打开 Microsoft Store,并选择你偏好的 Linux 分发版。我选择的Ubuntu 18.0.4

2.android 源代码下载编译
2.1 源代码下载

打开一个Linux窗口,执行如下命令:

# 初始化repo环境
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo
cp repo ~/bin
echo "PATH=~/bin:$PATH" >> ~/.bashrc
echo "export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'" >> .bashrc
source ~/.bashrc

# 下载代码,由于安装好的Ubuntu系统python版本是3.x,repo依赖2.x,所以需要先安装2.x版本的python
sudo apt install python
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r36
repo sync -c

如果下载断断续续,可以使用脚本来重复执行repo sync

echo "======start repo sync======"
repo sync -c
# 执行成功$?会返回0,失败返回非0
while [ $? -ne 0 ] 
	do
		echo "======sync failed, re-sync again======"
		repo sync -c
done

2.2 源代码编译

执行如下命令:

// 配置java jdk,另外一种选择是直接配置环境变量,因为源代码里面已经有现成的jdk版本,
// 路径prebuilts\jdk\jdk8\linux-x86\bin
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternative --config java

# 安装依赖工具链
sudo apt-get install libgl1-mesa-dev g++-multilib flex bison gperf build-essential  tofrodos python-markdown libxml2-utils xsltproc  dpkg-dev libsdl1.2-dev git-core gnupg flex bison gperf build-essential   zip curl zlib1g-dev gcc-multilib g++-multilib  libc6-dev-i386  x11proto-core-dev libx11-dev  libgl1-mesa-dev libxml2-utils xsltproc unzip m4 ccache

# 进入源代码根目录,编译
source build/envsetup.sh
lunch 18
make updatepackage -j8
2.3 window上访问ubuntu文件

\wsl$\Ubuntu-18.04\

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WSL(Ubuntu)编译ffmpeg for Android的步骤如下: 1. 安装必要的依赖项 在Ubuntu打开终端,执行以下命令安装必要的依赖项: ``` sudo apt-get update sudo apt-get install build-essential git autoconf automake libtool pkg-config zlib1g-dev cmake mercurial texinfo ``` 2. 下载NDK 下载并解压Android NDK,可以从官网下载最新版:https://developer.android.com/ndk/downloads/ 假设你将NDK解压到了 /opt/android-ndk-r21d 目录下。 3. 安装交叉编译工具链 执行以下命令安装交叉编译工具链: ``` cd /opt/android-ndk-r21d/build/tools/ ./make_standalone_toolchain.py --arch arm64 --api 21 --stl=libc++ --install-dir /opt/android-toolchain-arm64 ``` 这里选择了 arm64 架构,API级别为 21,STL库为 libc++,安装目录为 /opt/android-toolchain-arm64。 4. 下载ffmpeg源码 执行以下命令下载ffmpeg源码: ``` git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg ``` 5. 配置交叉编译环境 执行以下命令配置交叉编译环境: ``` export PATH=$PATH:/opt/android-toolchain-arm64/bin export CC=aarch64-linux-android21-clang export CXX=aarch64-linux-android21-clang++ export AR=aarch64-linux-android-ar export AS=aarch64-linux-android-as export LD=aarch64-linux-android-ld export RANLIB=aarch64-linux-android-ranlib export STRIP=aarch64-linux-android-strip ``` 6. 配置ffmpeg编译选项 执行以下命令配置ffmpeg编译选项: ``` ./configure \ --target-os=android \ --prefix=/opt/ffmpeg-android/arm64-v8a \ --enable-cross-compile \ --enable-pic \ --enable-jni \ --enable-mediacodec \ --enable-decoder=h264_mediacodec \ --enable-decoder=hevc_mediacodec \ --disable-static \ --enable-shared \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-postproc \ --disable-avdevice \ --disable-symver \ --disable-debug \ --disable-network \ --disable-everything \ --arch=aarch64 \ --cpu=armv8-a \ --cc=aarch64-linux-android21-clang \ --cxx=aarch64-linux-android21-clang++ \ --cross-prefix=aarch64-linux-android- \ --sysroot=/opt/android-toolchain-arm64/sysroot ``` 这里开启了 mediacodec 硬解码支持,只支持 H.264 和 HEVC 硬解码,其他配置选项根据需要自行调整。 7. 编译ffmpeg 执行以下命令编译ffmpeg: ``` make -j4 sudo make install ``` 这里使用了 4 核进行编译,可以根据实际情况进行调整。 8. 完成 编译完成后,ffmpeg库文件将会被安装到 /opt/ffmpeg-android/arm64-v8a 目录下。可以将这个目录打包成一个.aar库文件,用于Android Studio项目的使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值