- 系统:Ubuntu 16.04 64位
一定要安装64位系统,否则之后编译会出各种问题。
1. 下载NDK r10e
1 | wget -q https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip && \ |
2. 设置环境变量
1 | export ANDROID_NDK=/path/to/android-ndk |
也可以将其添加到~/.bashr
c,然后执行source ~/.bashrc
使其长久生效
3. 使用bash而不是dash
1 | # choose [No] to use bash |
4. 下载源码并编译
如果下载慢,就挂代理。推荐 Vultr
1 | # Build Android |
编译成功后会在/ijkplayer-android/android/ijkplayer/
下面,ijkplayer-armv7a
、ijkplayer-arm64
等module
中的/src/main/libs
文件夹生成适配不同CPU的so库。
问题1
1 | -------------------- |
解决方法:
在/ijkplayer-android/android/contrib/tools/do-compile-ffmpeg.sh
文件中找到以下内容1
2
3
4$ANDROID_NDK/build/tools/make-standalone-toolchain.sh \
$FF_MAKE_TOOLCHAIN_FLAGS \
--platform=$FF_ANDROID_PLATFORM \
--toolchain=$FF_TOOLCHAIN_NAME
然后增加--system=linux-x86_64
变为1
2
3
4
5$ANDROID_NDK/build/tools/make-standalone-toolchain.sh \
$FF_MAKE_TOOLCHAIN_FLAGS \
--platform=$FF_ANDROID_PLATFORM \
--toolchain=$FF_TOOLCHAIN_NAME \
--system=linux-x86_64
问题2
1 | arm-linux-androideabi-gcc is unable to create an executable file. |
解决方法:
安装64位Ubuntu系统。