| Crates.io | android-rust-cli |
| lib.rs | android-rust-cli |
| version | 0.3.0 |
| created_at | 2026-01-23 13:04:28.049158+00 |
| updated_at | 2026-01-23 20:50:59.431587+00 |
| description | A CLI tool for generating Android Rust JNI templates in a single command |
| homepage | |
| repository | https://github.com/rodroidmods/RodroidRust-CLI |
| max_upload_size | |
| id | 2064424 |
| size | 434,628 |
A command-line tool for scaffolding Android projects with Rust JNI integration. Generate production-ready project templates with customizable package names and support for multiple architectural patterns.
╭──────────────────────────────────────────╮
│ │
│ ╔═╗╔╗╔╔╦╗╦═╗╔═╗╦╔╦╗ ╦═╗╦ ╦╔═╗╔╦╗ │
│ ╠═╣║║║ ║║╠╦╝║ ║║ ║║ ╠╦╝║ ║╚═╗ ║ │
│ ╩ ╩╝╚╝═╩╝╩╚═╚═╝╩═╩╝ ╩╚═╚═╝╚═╝ ╩ │
│ │
╰──────────────────────────────────────────╯
doctor command checks your toolchain setup[!IMPORTANT] Please use version 0.3.0 or later. Previous versions had issues with packaging (missing files on crates.io).
cargo install android-rust-cli
# Create a new project (interactive mode)
android-rust new my-app
# Initialize in current directory
android-rust init
# Specify template and package name
android-rust new my-app --template standard --package-name com.example.app
# Preview without creating files
android-rust new my-app --dry-run
# See available templates with descriptions
android-rust list-templates
new — Create a New Projectandroid-rust new <name> [OPTIONS]
| Option | Description |
|---|---|
--template <NAME> |
Template to use (standard, multi-module, bottom-nav) |
--package-name <PKG> |
Android package name (e.g., com.example.app) |
--template-path <PATH> |
Use custom templates from directory |
--force |
Overwrite existing files |
--dry-run |
Preview without creating files |
init — Initialize in Current Directoryandroid-rust init [OPTIONS]
Initialize a new project directly in the current directory.
# Init with standard template (default)
android-rust init
# Init with specific template
android-rust init --template multi-module
list-templates — View Available Templatesandroid-rust list-templates [--template-path <PATH>]
doctor — Check EnvironmentDiagnose your development environment:
android-rust doctor
Checks:
completions — Generate Shell Completions# Bash
android-rust completions bash > ~/.local/share/bash-completion/completions/android-rust
# Zsh
android-rust completions zsh > ~/.zfunc/_android-rust
# Fish
android-rust completions fish > ~/.config/fish/completions/android-rust.fish
# PowerShell
android-rust completions powershell > android-rust.ps1
| Template | Description |
|---|---|
standard |
Basic Android + Rust JNI project with single module |
multi-module |
Clean architecture with app, domain, and data modules |
bottom-nav |
Bottom navigation layout with Jetpack Compose |
Use your own template directories:
# List custom templates
android-rust list-templates --template-path /path/to/templates
# Generate from custom template
android-rust new my-app --template-path /path/to/templates --template my-template
template.toml file:[template]
description = "My custom Android + Rust template"
features = ["jni", "compose", "custom"]
Use Jinja2 template syntax in files:
{{ package_name }} — Package name (e.g., com.example.app){{ package_path }} — Package path (e.g., com/example/app){{ jni_package }} — JNI-encoded package (e.g., com_example_app)Use __package_path__ in directory names to create package structure
For CI/CD pipelines, all options can be specified via flags:
android-rust new my-app --template standard --package-name com.mycompany.app
Defaults when stdin is not a terminal:
dev.rodroid.ruststandard (if available)Rodroid Mods