本地构建
- 安装并配置 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