Rust NDK 开发#1 - 环境搭建

[TOC]

  1. 时间:2021年12月
  2. rust 版本:1.57.0
  3. 操作系统: Windows 10 家庭中文版 (21H1) 64位

一、 Rust 环境搭建

rust官网下载rust安装包 ,我的电脑是 win 64 位的,下载的是 rustup-init.exe (64位) 安装包。
Rust的编译工具依赖C语言的编译工具;安装的时候提示需要安装Visual Studio(下载地址);下载后选择C++选项即可。这里不过多描述rust的安装。

二、 Rust NDK 配置

  1. 配置NDK环境变量

    • 如果电脑上有Android 开发环境,可以去 ANDROID_SDK/ndk目录下看看有没有已经下载好的NDK,如:21.4.707552923.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 版本的目录
  2. 安装NDK相关内容

    • 安装 cargo-ndk

      cargo install cargo-ndk
      
    • 添加 toolchain

      rustup target add \
          aarch64-linux-android \
          armv7-linux-androideabi \
          x86_64-linux-android \
          i686-linux-android
      
  1. 编译相关so命令,如生成 armeabi-v7aarm64-v8a 的命令

    cargo ndk -t armeabi-v7a -t arm64-v8a -o ./jniLibs build --release 
    
  2. 之前踩坑的部分整理

    • 编译命令:刚开始查相关资料的时候,好多博客上给的编译命令是:

      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 项目才发现新的编译命令

    • 详情可参照 GitHub - bbqsrc/cargo-ndk

本文章同步发布到 https://blog.hulytu.com

你可能感兴趣的:(Rust NDK 开发#1 - 环境搭建)