Skip to content

Android Prerequisites

Taner Sener edited this page Jul 15, 2026 · 2 revisions

This page lists the tools required to build FFmpegKitNext for Android.

For build commands, see Building Android. For Android build options, see nix‐android.sh.

Requirements With Nix

Install Nix on a supported build host.

The current Android Nix profile supports:

  • macOS on Apple Silicon
  • macOS on Intel
  • Linux on x86_64

The android-r27d profile provides the Android toolchain and host build tools used by the build scripts:

  • Android SDK Platform 34
  • Android SDK Build Tools 35.0.0
  • Android SDK Command-line Tools 13.0
  • Android SDK Platform Tools 35.0.2
  • Android NDK r27d, 27.3.13750724
  • CMake 3.22.1
  • JDK 17
  • Common build tools such as autoconf, automake, libtool, pkg-config, gettext, cmake, bison, meson, ninja, nasm, yasm, gperf, python3, perl, ruby, make, patch, curl, wget, git, zip, unzip, tar, gzip and xz

No separate Android SDK, Android NDK, CMake, JDK or host build-tool installation is normally required when using this profile.

Requirements Without Nix

Direct Android builds are supported on macOS and Linux. You must install and maintain the Android toolchain and host build tools yourself.

Install these Android components with Android Studio or sdkmanager:

  • Android SDK Platform 34, used by compileSdk
  • Android SDK Build Tools 35.0.0 or a compatible installed version
  • Android NDK r27d, 27.3.13750724, recommended for current builds
  • CMake 3.22.1 or a compatible installed version
  • Android SDK Command-line Tools and Platform Tools

Accept the Android SDK licenses before building.

Set these environment variables:

  • ANDROID_SDK_ROOT: path to the Android SDK
  • ANDROID_NDK_ROOT: path to the Android NDK
  • JAVA_HOME: path to JDK 17
  • ANDROID_HOME: recommended for Gradle and Android tooling compatibility

Install the host build tools used by the scripts. Package names vary by operating system and package manager, but the tools are:

bash git curl wget zip unzip tar gzip xz make sed grep which autoconf automake libtool pkg-config gettext cmake bison meson ninja nasm yasm gperf python3 perl ruby patch file find doxygen

Also install a host C/C++ compiler: Xcode Command Line Tools on macOS, or gcc/clang on Linux.

Some optional external libraries have extra host-package requirements:

  • Autotools regeneration uses autoreconf and may also need autopoint from gettext.
  • CMake and Meson based libraries use cmake, meson and ninja.
  • gperf is used by fontconfig.
  • groff is used by libiconv.
  • gtk-doc-tools and libtasn1 may be needed when bootstrapping gnutls on some hosts.
  • ragel for harfbuzz
  • texinfo for gmp on some hosts
  • nasm for x264
  • yasm for libvpx and some x265 builds

On Homebrew, gettext tools such as autopoint may not be on PATH by default. Use brew --prefix gettext to add the correct bin and share/aclocal locations for your machine instead of hard-coding an Intel or Apple Silicon prefix.

Clone this wiki locally