Skip to content

Configuring Kivy p4a on macOS

Feodor Fitsner edited this page Jul 8, 2023 · 9 revisions

Install NDK from https://developer.android.com/ndk/downloads/ or with Android SDK Manager.

Install Temurin8:

brew install --cask temurin8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home

Create new Python virtual environment:

python3 -m venv .venv
source .venv/bin/activate

Install p4a:

pip install python-for-android

Install Cython:

pip install --upgrade Cython

Run p4a:

p4a create --requirements python3,numpy --arch arm64-v8a --arch armeabi-v7a --sdk-dir $HOME/Library/Android/sdk --ndk-dir $HOME/Library/Android/sdk/ndk/25.2.9519653 --dist-name serious_python

Choose No to "Do you want automatically install prerequisite JDK? [y/N]".

Location of hostpython3:

~/.python-for-android/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3

.so files:

~/.python-for-android/dists/unnamed_dist_2/libs/arm64-v8a

Header files:

~/.python-for-android/build/other_builds/python3/arm64-v8a__ndk_target_21/python3/Include

Python packages:

~/.python-for-android/dists/unnamed_dist_2/_python_bundle__arm64-v8a/_python_bundle

Installing pip on hostpython3:

~/.python-for-android/build/other_builds/hostpython3/desktop/hostpython3/native-build/python3 -m ensurepip
Clone this wiki locally