Merge pull request #781 from Performance Network branch #197
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tonlib Android JNI | |
on: [push,workflow_dispatch,workflow_call] | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Install libraries | |
run: | | |
sudo apt update | |
sudo apt install -y build-essential git make cmake clang libgflags-dev zlib1g-dev libssl-dev libreadline-dev libmicrohttpd-dev pkg-config libgsl-dev python3 python3-dev ninja-build | |
- name: Configure & Build | |
run: | | |
wget https://dl.google.com/android/repository/android-ndk-r25b-linux.zip | |
unzip android-ndk-r25b-linux.zip | |
export JAVA_AWT_LIBRARY=NotNeeded | |
export JAVA_JVM_LIBRARY=NotNeeded | |
export JAVA_INCLUDE_PATH=${JAVA_HOME}/include | |
export JAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include | |
export JAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux | |
export ANDROID_NDK_ROOT=$(pwd)/android-ndk-r25b | |
export NDK_PLATFORM="android-21" | |
export ANDROID_PLATFORM="android-21" | |
export OPENSSL_DIR=$(pwd)/example/android/third_party/crypto | |
rm -rf example/android/src/drinkless/org/ton/TonApi.java | |
cd example/android/ | |
sudo apt install -y libtool autoconf libsodium-dev libsecp256k1-dev | |
cmake -GNinja -DTON_ONLY_TONLIB=ON . | |
ninja prepare_cross_compiling | |
sudo apt remove -y libsodium-dev libsecp256k1-dev | |
rm CMakeCache.txt | |
./build-all.sh | |
find . -name "*.debug" -type f -delete | |
- name: Find & copy binaries | |
run: | | |
mkdir -p artifacts/tonlib-android-jni | |
cp example/android/src/drinkless/org/ton/TonApi.java artifacts/tonlib-android-jni/ | |
cp -R example/android/libs/* artifacts/tonlib-android-jni/ | |
- name: Upload artifacts | |
uses: actions/upload-artifact@master | |
with: | |
name: tonlib-android-jni | |
path: artifacts |