本地构建

  • 安装并配置 rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
  • 使用nightly版本的rust
rustup default nightly

我们使用 build-std 特性,所以需要添加 nightly src 组件

rustup component add rust-src --toolchain nightly-x86_64-apple-darwin

clone 仓库并在命令行工具中打开。然后运行

cargo check

等待依赖下载…

cargo build -p ezlog

Flutter 构建

flutter packages get

flutter packages upgrade

Android 构建

  • 添加 android targets
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

我们使用 cargo-ndk 来构建 dylib

cargo install cargo-ndk

cd android

sh b_android.sh

然后在 AndroidStudio 中打开当前工作区

iOS 构建

  • 添加 iOS targets
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios

安装 cbindgen

cargo install --force cbindgen

cd ios dir

sh b_ios.sh

在 Xcode 中打开 ios/EZlog.xcworkspace