Building the Android Kernel


The Android kernel builds with the NDK and CMake. CI pins NDK 29.0.14206865 and CMake 3.22.1.

Prerequisites

brew install git yasm nasm cmake python
sdkmanager --install "ndk;29.0.14206865" "cmake;3.22.1"
export ANDROID_NDK="$ANDROID_HOME/ndk/29.0.14206865"

Initialize Dependencies

Run these from the root of the ijkplayer repository:

bash scripts/init/init-android.sh
bash scripts/init/init-android-boringssl.sh
bash scripts/init/init-android-libsrt.sh

Build BoringSSL and FFmpeg

bash scripts/build/android/compile-boringssl.sh all
bash scripts/build/android/compile-ffmpeg.sh all

Build the AAR

cd platform/android
./gradlew :library:assembleRelease -PVERSION_NAME=1.2.12

The output is fplayercore-release.aar. The same artifact is published to Maven Central as io.github.flutterplayer:fplayercore:<version>, and fplayer's fetch script syncs it into android/local-repo so Gradle can resolve it locally.