Skip to content

Files

android

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Apr 14, 2025
Aug 6, 2024
Apr 14, 2025
Apr 27, 2016
Feb 20, 2023
Aug 6, 2024
Jan 16, 2024
Nov 12, 2015
Jun 25, 2021
Nov 12, 2015
To build this within the NDK the following things have to be done:

 - By default, the strongSwan sources of the current Git tree are used. They
   have to be prepared first (see HACKING for a list of required tools):

     ./autogen.sh && ./configure && make && make distclean

   It's also possible to use the sources from a different directory (e.g. an
   extracted tarball) by setting strongswan_DIR in app/src/main/jni/Android.mk.

 - The libstrongswan library depends on an Android module called libcrypto_static
   that provides OpenSSL's libcrypto and header files.  To simplify this, the
   build.sh script in the openssl directory can be used to statically build
   libcrypto for all ABIs. The results are placed in app/src/main/jni/openssl.

   The script expects the path to the Android NDK in ANDROID_NDK_ROOT, which is
   something like /path/to/android-ndk-<ver> for standalone NDKs, and something
   like /path/to/android-sdk/ndk/<ver> for side-by-side NDKs.  The path to the
   OpenSSL sources is expected in OPENSSL_SRC (work with OpenSSL 1.1.1 or 3).
   For instance, it may be invoked like this:

     ANDROID_NDK_ROOT=~/android-ndk-<ver> \
     OPENSSL_SRC=~/openssl-<ver> \
     src/frontends/android/openssl/build.sh

   By default, the script uses Docker to compile the library.  However, if the
   necessary build dependencies (jq, make, perl) are installed on the host, this
   can be disabled by defining the NO_DOCKER.  The dependency on jq may be
   avoided by passing a space-separated list of target ABIs via ABIS variable.