[TOC]
- 时间:
2021年12月
- rust 版本:
1.57.0
- 操作系统:
Windows 10 家庭中文版 (21H1) 64位
一、 Rust 环境搭建
从rust
官网下载rust安装包 ,我的电脑是 win 64 位的,下载的是 rustup-init.exe (64位)
安装包。
Rust的编译工具依赖C
语言的编译工具;安装的时候提示需要安装Visual Studio
(下载地址);下载后选择C++
选项即可。这里不过多描述rust的安装。
二、 Rust NDK 配置
-
配置
NDK
环境变量- 如果电脑上有
Android
开发环境,可以去ANDROID_SDK/ndk
目录下看看有没有已经下载好的NDK
,如:21.4.7075529
或23.0.7599858
等这样的目录,不过我这边测试如果把23.0.7599858
配置进去,构建NDK
的时候会打包失败,暂时用21.4.7075529
的版本吧。 - 如果没有,可以去谷歌下载,国内访问 NDK 下载 | Android NDK | Android Developers (google.cn)
- 历史版本下载地址 NDK 修订历史记录 | Android NDK | Android Developers (google.cn)
- 配置环境变量:
ANDROID_NDK_HOME
目录指向 ndk 版本的目录
- 如果电脑上有
-
安装NDK相关内容
-
安装
cargo-ndk
cargo install cargo-ndk
-
添加
toolchain
rustup target add \ aarch64-linux-android \ armv7-linux-androideabi \ x86_64-linux-android \ i686-linux-android
-
-
编译相关so命令,如生成
armeabi-v7a
和arm64-v8a
的命令cargo ndk -t armeabi-v7a -t arm64-v8a -o ./jniLibs build --release
-
之前踩坑的部分整理
-
编译命令:刚开始查相关资料的时候,好多博客上给的编译命令是:
cargo ndk --platform 21 --target armv7-linux-androideabi build --release cargo ndk --platform 21 --target aarch64-linux-android build --release cargo ndk --platform 21 --target x86_64-linux-android build --release cargo ndk --platform 21 --target i686-linux-android build --release
这个命令不知道是不支持了还是其他原因,在我电脑上开始会报
error: linker 'link.exe' not found
后面一顿操作,换成了
Error: linker 'cc' not found
这个问题我卡了好久,直到找到cargo-ndk
项目才发现新的编译命令
-
本文章同步发布到 https://blog.hulytu.com