ndkports
A fork of Google's ndkPorts building static builds of Android common ndk tools. Currently only OpenSSL is supported.
Ports
Each third-party project is called a "port". Ports consist of a description of where to fetch the source, apply any patches needed, build, install, and package the library into an AAR.
A port is a subclass of the abstract Kotlin class com.android.ndkports.Port
.
Projects define the name and version of the port, the URL to fetch source from,
a list of modules (libraries) to build, and the build steps.
See the Port class for documentation on the port API.
Individual port files are kept in ports/$name/port.kts
. For example, the cURL
port is ports/curl/port.kts.
Building a Port
ndkports requires an NDK to be used for building to be specified on the command line as well as a list of packages to build. For example, to build cURL:
$ ./gradlew :openssl publish -PndkPath=/path/to/ndk
Note that dependencies currently need to be already built or ordered explicitly.
To build all ports using Docker, use scripts/build.sh
.