rust 静态 android,Android中使用Rust构建so库(一)

6353cb691e6b

image.png

0x01 Introduction

Rust语言突然很火,其运行速度堪比C++,有传言说可能会成为C/C++的替代品。但是这不是今天讨论的话题。还是来看下Rust强大的交叉编译吧,用Rust构建so库。网络上大都是在Linux系统下操作,包括官方文档也都是以Linux系统为例说明的。今天我们就来详细的讲一下如何在Windows下使用Rust构建so库,以及Rust构建的so文件与传统的C/C++有什么区别呢?

0x02 Tools

主要工具:

Android Studio——编写Android Demo的工具

IDEA(VS Code也可以)——编写Rust语言的工具

Python——执行生成工具链的 python脚本

其它工具(非必须):

IDA——反编译so文件

0x03 Environment

安装Rust语言环境

安装Python环境

安装Android SDK和Android NDK环境

0x04 Code

新建项目

IDEA安装Rust插件,新建项目。新建项目的项目名称如果存在多个单词建议使用下划线分隔,比如rust_jni_android,防止后面编译报warning。

添加依赖

在Cargo.toml中添加JNI依赖,并声明lib.rs的crate_type为cdylib。告知编译器要编译成库。这样将会构建出动态库 (.so, .dylib 或

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值