[TOC]
- 時間:
2021年12月
- rust 版本:
1.57.0
- 操作系統(tǒng):
Windows 10 家庭中文版 (21H1) 64位
一盆耽、 Rust 環(huán)境搭建
從rust
官網(wǎng)下載rust安裝包 蹋砚,我的電腦是 win 64 位的扼菠,下載的是 rustup-init.exe (64位)
安裝包。
Rust的編譯工具依賴C
語言的編譯工具坝咐;安裝的時候提示需要安裝Visual Studio
(下載地址)循榆;下載后選擇C++
選項即可。這里不過多描述rust的安裝墨坚。
二秧饮、 Rust NDK 配置
-
配置
NDK
環(huán)境變量- 如果電腦上有
Android
開發(fā)環(huán)境,可以去ANDROID_SDK/ndk
目錄下看看有沒有已經(jīng)下載好的NDK
泽篮,如:21.4.7075529
或23.0.7599858
等這樣的目錄盗尸,不過我這邊測試如果把23.0.7599858
配置進去,構(gòu)建NDK
的時候會打包失敗帽撑,暫時用21.4.7075529
的版本吧泼各。 - 如果沒有,可以去谷歌下載亏拉,國內(nèi)訪問 NDK 下載 | Android NDK | Android Developers (google.cn)
- 歷史版本下載地址 NDK 修訂歷史記錄 | Android NDK | Android Developers (google.cn)
- 配置環(huán)境變量:
ANDROID_NDK_HOME
目錄指向 ndk 版本的目錄
- 如果電腦上有
-
安裝NDK相關(guān)內(nèi)容
-
安裝
cargo-ndk
cargo install cargo-ndk
-
添加
toolchain
rustup target add \ aarch64-linux-android \ armv7-linux-androideabi \ x86_64-linux-android \ i686-linux-android
-
-
編譯相關(guān)so命令扣蜻,如生成
armeabi-v7a
和arm64-v8a
的命令cargo ndk -t armeabi-v7a -t arm64-v8a -o ./jniLibs build --release
-
之前踩坑的部分整理
-
編譯命令:剛開始查相關(guān)資料的時候,好多博客上給的編譯命令是:
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
項目才發(fā)現(xiàn)新的編譯命令
-
本文章同步發(fā)布到 https://blog.hulytu.com