-
-
Notifications
You must be signed in to change notification settings - Fork 796
android.sh
android.sh
builds FFmpeg
and MobileFFmpeg
for Android platform.
By default five Android ABIs (armeabi-v7a
, armeabi-v7a-neon
, arm64-v8a
, x86
and x86_64
) are built without any external libraries enabled. Options can be used to disable ABIs and/or enable external libraries. Please note that GPL
libraries (external libraries with GPL license) need --enable-gpl
flag to be set explicitly. When compilation ends an Android Archive (AAR) file is created under the prebuilt
folder.
Options can be used to disable ABIs and/or enable external libraries.
Usage: ./android.sh [OPTION]...
Options:
-h, --help display this help and exit
-v, --version display version information and exit
-d, --debug build with debug information
-s, --speed optimize for speed instead of size
-l, --lts build lts packages to support API 16+ devices
-f, --force ignore warnings
Licensing options:
--enable-gpl allow use of GPL libraries, created libs will be licensed under GPLv3.0 [no]
Platforms:
--disable-arm-v7a do not build arm-v7a platform [yes]
--disable-arm-v7a-neon do not build arm-v7a-neon platform [yes]
--disable-arm64-v8a do not build arm64-v8a platform [yes]
--disable-x86 do not build x86 platform [yes]
--disable-x86-64 do not build x86-64 platform [yes]
Libraries:
--full enables all external libraries
--enable-android-media-codec build with built-in Android MediaCodec support[no]
--enable-android-zlib build with built-in zlib support[no]
--enable-chromaprint build with chromaprint [no]
--enable-fontconfig build with fontconfig [no]
--enable-freetype build with freetype [no]
--enable-fribidi build with fribidi [no]
--enable-gmp build with gmp [no]
--enable-gnutls build with gnutls [no]
--enable-kvazaar build with kvazaar [no]
--enable-lame build with lame [no]
--enable-libaom build with libaom [no]
--enable-libass build with libass [no]
--enable-libiconv build with libiconv [no]
--enable-libilbc build with libilbc [no]
--enable-libtheora build with libtheora [no]
--enable-libvorbis build with libvorbis [no]
--enable-libvpx build with libvpx [no]
--enable-libwebp build with libwebp [no]
--enable-libxml2 build with libxml2 [no]
--enable-opencore-amr build with opencore-amr [no]
--enable-openh264 build with openh264 [no]
--enable-opus build with opus [no]
--enable-sdl build with sdl [no]
--enable-shine build with shine [no]
--enable-snappy build with snappy [no]
--enable-soxr build with soxr [no]
--enable-speex build with speex [no]
--enable-tesseract build with tesseract [no]
--enable-twolame build with twolame [no]
--enable-vo-amrwbenc build with vo-amrwbenc [no]
--enable-wavpack build with wavpack [no]
GPL libraries:
--enable-libvidstab build with libvidstab [no]
--enable-rubberband build with rubber band [no]
--enable-x264 build with x264 [no]
--enable-x265 build with x265 [no]
--enable-xvidcore build with xvidcore [no]
Advanced options:
--reconf-LIBRARY run autoreconf before building LIBRARY [no]
--redownload-LIBRARY download LIBRARY even it is detected as already downloaded [no]
--rebuild-LIBRARY build LIBRARY even it is detected as already built [no]
android.sh
is called without any options. FFmpeg is built for all five platforms without any external library support.
android.sh
is called with --full
option. FFmpeg is built for all five platforms with all external libraries enabled. Libraries with GPL license are not included in this option.
android.sh
is called with a series of --enable-*
, --disable-*
, --reconf-*
and --rebuild-*
options. Options define which platforms and libraries will be built, which libraries will be reconfigured or rebuilt.
Copyright (c) 2018-2021 MobileFFmpeg