安卓交叉编译Python

 使用环境:ubuntu22.04         ndk:r26d

一、安卓ndk下载

        首先从官网NDK Downloads  |  Android NDK  |  Android Developers (google.cn)下载对应的ndk。这里我下载的是

Linux 64-bit (x86)android-ndk-r26d-linux.zip

        对下载的文件解压:

unzip android-ndk-r26d-linux.zip

        对ndk进行配置:

sudo gedit ~/.bashrc
export   NDK=/home/liao/android-ndk-r26d    # 替换成自己的路径
export   PATH=${PATH}:$NDK
# 然后保存文件运行
source  ~/.bashrc

        安装并配置完成Android-NDK之后,需要进行安装验证,以确认正确安装并配置:

ndk-build

        出现以下结果说明安装成功:

二、Python安卓交叉编译

        参考了这位大佬的博客Python3.9交叉编译到Android平台 | AcmeZone成功编译了python3.8.2。首先下载python源码,我这里下载的是3.8.2版本,然后解压。

        解压后进入到根目录,依次输入指令:

export NDK=/home/lgz/android-ndk-r26d                           # NDK根目录绝对路径

export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64     # 交叉编译链路径

export TARGET=aarch64-linux-android                             # 交叉编译目标

export API=24                                                   # 最小目标SDK版本配置(24 即为 Android 7.0)

export AR=$TOOLCHAIN/bin/llvm-ar

export CC=$TOOLCHAIN/bin/$TARGET$API-clang

export AS=$CC

export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++

export LD=$TOOLCHAIN/bin/ld

export RANLIB=$TOOLCHAIN/bin/llvm-ranlib

export STRIP=$TOOLCHAIN/bin/llvm-strip

export READELF=$TOOLCHAIN/bin/readelf

./configure --host=$TARGET --build=aarch64 --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/lgz/android/android-python/Python-3.8.2/install

        随后编译:

make -j8 && make install -j8

        我们可以看到python3.8.2目录多了一个install文件夹,进去后可以看到四个文件夹,分别是:bin,include,lib,share,然后全部打包到安卓平台测试。

cd bin
./python3.8

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值