Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Android target configurations
# The linker will be automatically resolved from CC_* environment variables
# which are set by setup-android-env.sh script
# For NDK 29+, these point to versioned clang binaries (e.g., aarch64-linux-android34-clang)

[target.aarch64-linux-android]
ar = "llvm-ar"
# Linker is set via CC_aarch64_linux_android environment variable

[target.armv7-linux-androideabi]
ar = "llvm-ar"
# Linker is set via CC_armv7_linux_androideabi environment variable

[target.i686-linux-android]
ar = "llvm-ar"
# Linker is set via CC_i686_linux_android environment variable

[target.x86_64-linux-android]
ar = "llvm-ar"
# Linker is set via CC_x86_64_linux_android environment variable

45 changes: 45 additions & 0 deletions ANDROID_BUILD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Android Build Setup

This document explains how to build the Sage wallet for Android.

## Prerequisites

1. Latest CMake
- Install via Homebrew
- `brew install cmake`

2. **Android NDK**: Install via Android Studio SDK Manager or download directly
- Recommended: NDK r26d or later (r29+ works)
- The setup script will auto-detect NDK in `~/Library/Android/sdk/ndk/`

3. **Rust Android targets**: Install the required targets

```bash
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
```

4. **bindgen-cli**: Required for building `aws-lc-sys`

```bash
cargo install bindgen-cli --locked
```

## Building for Android

1. **Source the environment setup script** (this must be done in each terminal session):

```bash
source setup-android-env.sh
```

2. **Build the Android app**:

```bash
pnpm tauri android build
```

Or to run in the emulator:

```bash
pnpm tauri android dev
```
Loading
Loading