Skip to content

Android

WangBin edited this page Jul 1, 2018 · 9 revisions

Supported host platforms:

  • Windows
  • Linux
  • macOS

Requirements:

  • environment var ANDROID_NDK
  • gcc>=4.8, or clang
  • Unified headers or not

Environment Variables:

  • USE_TOOLCHAIN: clang or gcc

Command:

./avbuild.sh android[api_level] "arch1 arch2 ..."  # gcc toolchain. TODO: clang if no gcc is found
USE_TOOLCHAIN=clang ./avbuild.sh android[api_level] "arch1 arch2 ..." # clang for all
./avbuild.sh android[api_level] "arch1 arch2-clang ..." # gcc toolchain for arch1, clang for arch2

api_level can be empty to use default value. Default is 14 for 32bit and 21 for 64bit.

Unified headers are used if present.

export FFSRC=/path/to/ffmpeg              # if no ffmpeg source fold under this dir
./avbuild.sh android                      # gcc build for default archs (armv5, armv7, arm64, x86)
./avbuild.sh android armv7                # gcc build for armv7
./avbuild.sh android16 "armv7 arm64"      # gcc build for armv7 api level 16 and arm64 api level 21(21 is min level for 64bit)
./avbuild.sh android "armv7-clang arm64"  # clang build for armv7, gcc build for arm64

The result dir struct is sdk-android-{gcc,clang}/{include,lib/{armeabi,armeabi-v7a,arm64,x86}}

Clone this wiki locally