最近想在Android环境中集成Python3,参考了一下网上的实现,发现已经有项目实现这个功能的,具体的编译过程参考下面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
$ 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平台么,可以加微信聊聊
后面就没有研究了