blob: f394aa7c7bf33babe045c5052873eb9bc8253fe5 [file] [log] [blame]
.. _target-android:
-------
Android
-------
The Android target supports building Pigweed on devices using an Android
Native Development Kit (NDK).
.. warning::
This target is under construction, not ready for use, and the documentation
is incomplete.
Setup
=====
You must first download and unpack a copy of the `Android NDK`_ and let Pigweed
know where that is located using the ``pw_android_toolchain_NDK_PATH`` build
arg.
.. _Android NDK: https://developer.android.com/ndk
You can set Pigweed build options using ``gn args out``.
Building
========
To build for this Pigweed target, simply build the top-level "android" Ninja
target. You can set Pigweed build options using ``gn args out`` or by running:
.. code-block:: sh
gn gen out --args='
pw_android_toolchain_NDK_PATH="/path/to/android/ndk"'
On a Windows machine it's easier to run:
.. code-block:: sh
gn args out
That will open a text file where you can paste the args in:
.. code-block:: text
pw_android_toolchain_NDK_PATH = "/path/to/android/ndk"
Save the file and close the text editor.
Then build with:
.. code-block:: sh
ninja -C out android
This will build Pigweed for all supported Android CPU targets at the default
optimization level, currently arm, arm64, x64, and x86.
To build for a specific CPU target only, at the default optimization level:
.. code-block:: sh
ninja -C out arm64_android
Or to build for a specific CPU target and optimization level:
.. code-block:: sh
ninja -C out arm64_android_size_optimized