$ sudo apt-get install make
# makeinfo工具,包编译时候需要
$ sudo apt-get install texinfo
$ sudo apt-get install git
$ sudo apt-get install aria2
$ cd ~
$ aria2c -c https://dl.google.com/android/repository/android-ndk-r21b-linux-x86_64.zip
$ unzip android-ndk-r21b-linux-x86_64.zip
# 安装pyenv,配置python 3.6.6 编译的是这个版本,需要安装这个版本的python,其他版本的Python编译会失败
$ git clone https://github.com/pyenv/pyenv.git
$ cd pyenv
$ make
$ cd bin
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
$ sudo apt-get install libbz2-dev
$ sudo apt-get install libreadline-dev
$ sudo apt-get install sqlite3
$ sudo apt-get install libsqlite3-dev
# for scikit-learn
$ sudo apt-get install python-numpy
$ sudo pip2 install --upgrade pip
$ sudo apt-get install cython
$ ./pyenv install 3.6.6
# 全局设置版本
$ ./pyenv global 3.6.6
$ eval "$(./pyenv init -)"
$ cd ~
$ git clone https://github.com/qpython-android/qpython3-toolchain.git
$ cd qpython3-toolchain
$ sed -i 's/PYTHON?=python/PYTHON?=python3/g' Makefile
$ export ANDROID_NDK=~/android-ndk-r21b
# for python2
$ export CLANG_FLAGS_BASE=
# for pycryptodome
$ export PY_BRANCH=3
$ export PY_M_BRANCH=6m
# 目标编译代码为 aarch64
$ export TARGET_ARCH_ANDROID=aarch64
$ export TARGET_ARCH_NAME=android
$ export ANDROID_VER=29
$ make clean
$ make
# 目前 scikit-learn 部分还是编译不通过
博主有继续研究python交叉编译到Android平台么,可以加微信聊聊
后面就没有研究了