1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 6d24f2138b
Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56)
3 years ago
..
.idea Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
gradle/wrapper Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
ports Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
scripts Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
src Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
.gitignore Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
Dockerfile Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
README.md Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
build.gradle.kts Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
gradle.properties Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
gradlew Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
gradlew.bat Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago
settings.gradle.kts Rockchip Anroid12_SDK 20220721-rkr10 (e1522e56) 3 years ago

README.md

ndkports

A collection of Android build scripts for various third-party libraries and the tooling to build them.

If you're an Android app developer looking to consume these libraries, this is probably not what you want. This project builds AARs to be published to Maven. You most likely want to use the AAR, not build it yourself.

Note: Gradle support for consuming these artifacts from an AAR is a work in progress.

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 run --args='--ndk /path/to/android-ndk-r20 openssl curl'
Build output...
$ find  -name '*.aar'
./out/curl/curl.aar
./out/openssl/openssl.aar

Note that dependencies currently need to be already built or ordered explicitly.

To build all ports using Docker, use scripts/build.sh.