当前位置:   article > 正文

python on android 3 --Pillow_android-ndk-r26b aarch64

android-ndk-r26b aarch64

1 NDK 

首先要感谢 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如下,添加了一些常用的系统变量,主要是省力,不是必须的

  1. export ANDROID_NDK=$HOME/ndk
  2. export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-aarch64
  3. export PATH=$TOOLCHAIN/bin:$PATH
  4. export ARCH="arm64"
  5. export CC=clang
  6. export CXX=clang++
  7. export AR=$TOOLCHAIN/bin/llvm-ar
  8. export AS=$TOOLCHAIN/bin/llvm-as
  9. export RANLIB=$TOOLCHAIN/bin/llvm-ranlib

2 make

我们准备要安装一些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

  1. chmod -R 777 $HOME/python3.9
  2. chown -R shell $HOME/python3.9
  3. chgrp -R shell $HOME/python3.9

3 libz

这是一个常用的android库,拿来做个测试挺好的。下载zlib1.3解压到手机后

  1. ./configure --prefix=$HOME/python3.9/usr/lib
  2. make
  3. make install

应该没有任何问题了

4 Pillow

 直接从GitHub - python-pillow/Pillow: Python Imaging Library (Fork)  git clone下来源码

上传到手机

  1. export LDFLAGS="-lm -llog"
  2. python3 setup.py install

另忘了编译时带上log库,不然能通过,但是运行期会找不到log符号

5 enjoy

上传一张图到手机。然后试试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/474906
推荐阅读
相关标签
  

闽ICP备14008679号