赞
踩
首先要感谢 lzhiyong GitHub - lzhiyong/termux-ndk: android-ndk for termux
他的release 列表中直接有ndk aarch64的压缩包可以直接下https://github.com/lzhiyong/termux-ndk/releases/download/android-ndk/android-ndk-r26b-aarch64.zip当然如果你乐意,自己动编译工具链定制自己喜欢的ndk版本也是可行的,我就直接偷拿来用了
放在手机 $HOME/ndk下
我们运行python3时,有一个env.sh 用来设置环境变量,又因为busybox有了vi等一些常用工具,现在vi env.sh如下,添加了一些常用的系统变量,主要是省力,不是必须的
- export ANDROID_NDK=$HOME/ndk
- export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-aarch64
- export PATH=$TOOLCHAIN/bin:$PATH
- export ARCH="arm64"
- export CC=clang
- export CXX=clang++
- export AR=$TOOLCHAIN/bin/llvm-ar
- export AS=$TOOLCHAIN/bin/llvm-as
- export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
我们准备要安装一些python包,需要so支持。这些包很多没有迁到android armv8上。所以我们还需要一个make for aarch64.幸好termux直接有了。在手机上如果已经安装了termux.则/data/data/com.termux/files/usr/bin下应该有make
也不需要什么依赖。直接拷贝到我们的$HOME/python3.9/usr/bin下就可以用了,如果有兴趣cmake也可以在termux上安装后,拷贝cmake主文件和需要的依赖库到$HOME/python3.9下使用
然后需要变更一下文件权限拥有者之类的信息。一般我们 adb shell进去。不使用su - username切换用户的话,默认python3.9 应该所有者都是shell
- chmod -R 777 $HOME/python3.9
- chown -R shell $HOME/python3.9
- chgrp -R shell $HOME/python3.9
这是一个常用的android库,拿来做个测试挺好的。下载zlib1.3解压到手机后
- ./configure --prefix=$HOME/python3.9/usr/lib
- make
- make install
应该没有任何问题了
直接从GitHub - python-pillow/Pillow: Python Imaging Library (Fork) git clone下来源码
上传到手机
- export LDFLAGS="-lm -llog"
- python3 setup.py install
另忘了编译时带上log库,不然能通过,但是运行期会找不到log符号
上传一张图到手机。然后试试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。