This is an experimental set of build scripts that will cross-compile the specific Python Core for QPython / QPython3.
Building requires:
- Linux or macOS. Ubuntu 14.04, Arch Linux and macOS Sierra tested.
- Android NDK r16 beta 2 installed and environment variable
$ANDROID_NDK
points to its root directory. NDK r14 or r15 may work yet not fully tested. NDk r13 or below is not supported. - git and python in $PATH. It's recommended to use the latest git-master to build python. Here are some ways to install the python:
- For Arch Linux users, install python-git package from AUR
- For Homebrew users, run
brew install python3 --HEAD
- For MacPorts users, add my MacPorts overlay to
sources.conf
and runsudo port install python37
- For other users, install 3.8 from pyenv
Running requires:
- Android 5.0 (Lollipop, API 21) or above
- arm, arm64, x86 or x86-64
- A
busybox
binary at /data/local/tmp/busybox
make clean
for good measure.- For every API Level/architecture combination you wish to build for:
- Edit
env
to match your (desired) configuration. make
to build everything!
- Edit
TBD
SSL certificates have old and new naming schemes. Android uses the old scheme yet the latest OpenSSL uses the new one. If you got CERTIFICATE_VERIFY_FAILED
when using SSL/TLS in Python, you need to generating certificate names of the new scheme:
python ./python3/tools/c_rehash.py
Check SSL/TLS functionality with:
python ./python3/tools/ssl_test.py
Please file a issue to the issue list
Folked from Python3-Android
Thanks the author and contributor: Shizmob,(Chih-Hsuan Yen)[https://github.com/yan12125]