Skip to content

android build scripts #9

android build scripts

android build scripts #9

name: android build scripts
on:
workflow_dispatch:
jobs:
build-main-on-linux:
name: android main on linux
runs-on: ubuntu-22.04
strategy:
matrix:
ndk-version: [ 'r22b-linux-x86_64', 'r23b-linux', 'r24-linux', 'r25b-linux' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- name: set up adopt jdk 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: prerequisites
run: ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --uninstall "cmake;3.10.2.4988404" "cmake;3.18.1"
- name: set up make dependencies
run: |
curl -s "https://dl.google.com/android/repository/android-ndk-${{ matrix.ndk-version }}.zip" -o ndk.zip
unzip -q -o ndk.zip -d .ndk
echo "ANDROID_NDK_ROOT=$PWD/.ndk/$(ls .ndk)" >> $GITHUB_ENV
sudo apt install autoconf automake libtool pkg-config curl git doxygen nasm cmake gcc gperf texinfo yasm bison autogen wget autopoint meson ninja-build ragel groff gtk-doc-tools libtasn1-6
- name: run the build script
run: ./android.sh -d -l --enable-gpl --disable-arm-v7a-neon --disable-x86 --disable-x86-64 --enable-lame --enable-libvorbis --enable-libwebp --enable-libxml2 --enable-openh264 --enable-opus --enable-x264 --enable-android-media-codec
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
- name: upload artifact
uses: actions/upload-artifact@v4
with:
name: main
path: prebuilt/bundle-android-aar/*
build-lts-on-linux:
name: android lts on linux
runs-on: ubuntu-22.04
strategy:
matrix:
ndk-version: [ 'r22b-linux-x86_64', 'r23b-linux' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- name: set up adopt jdk 17
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: prerequisites
run: ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --uninstall "cmake;3.10.2.4988404" "cmake;3.18.1"
- name: set up make dependencies
run: |
curl -s "https://dl.google.com/android/repository/android-ndk-${{ matrix.ndk-version }}.zip" -o ndk.zip
unzip -q -o ndk.zip -d .ndk
echo "ANDROID_NDK_ROOT=$PWD/.ndk/$(ls .ndk)" >> $GITHUB_ENV
sudo apt install autoconf automake libtool pkg-config curl git doxygen nasm cmake gcc gperf texinfo yasm bison autogen wget autopoint meson ninja-build ragel groff gtk-doc-tools libtasn1-6
- name: run the build script
run: ./android.sh -d -l --enable-gpl --lts --disable-arm-v7a-neon --disable-x86 --disable-x86-64 --enable-lame --enable-libvorbis --enable-libwebp --enable-libxml2 --enable-openh264 --enable-opus --enable-x264 --enable-android-media-codec
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
- name: upload artifact
uses: actions/upload-artifact@v4
with:
name: main
path: prebuilt/bundle-android-aar-lts/*