Expert guidance for developing, testing, and deploying mobile applications with Tauri 2. Use when working with Tauri 2 mobile development for Android/iOS, including project setup, Rust backend patterns, frontend integration, plugin usage (biometric, geolocation, notifications, IAP), emulator/ADB testing, code signing, and Play Store/App Store deployment.
Provides expert guidance for developing, testing, and deploying mobile apps with Tauri 2.
/plugin marketplace add acaprino/alfio-claude-plugins/plugin install tauri-development@alfio-claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/authentication.mdreferences/build-deploy.mdreferences/ci-cd.mdreferences/frontend-patterns.mdreferences/iap.mdreferences/plugins.mdreferences/rust-patterns.mdreferences/setup.mdreferences/testing.mdBuild cross-platform mobile apps with Tauri 2 using web technologies (HTML/CSS/JS) for UI and Rust for native backend.
| Task | Command |
|---|---|
| Init mobile | npm run tauri android init / npm run tauri ios init |
| Dev Android | npm run tauri android dev |
| Dev iOS | npm run tauri ios dev |
| Build APK | npm run tauri android build --apk |
| Build AAB | npm run tauri android build --aab |
| Build iOS | npm run tauri ios build |
| Add plugin | npm run tauri add <plugin-name> |
npm create tauri-app@latest with mobile targetstauri.conf.json with app identifieradb logcat | grep -iE "(tauri|RustStdout)" for logsmy-app/
├── src/ # Frontend
├── src-tauri/
│ ├── Cargo.toml
│ ├── tauri.conf.json # Main config
│ ├── src/
│ │ ├── main.rs # Desktop entry (don't modify)
│ │ └── lib.rs # Main code + mobile entry
│ ├── capabilities/
│ │ └── default.json # Permissions
│ └── gen/
│ ├── android/ # Android Studio project
│ └── apple/ # Xcode project
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "MyApp",
"identifier": "com.company.myapp",
"bundle": {
"iOS": { "minimumSystemVersion": "14.0" },
"android": { "minSdkVersion": 24 }
}
}
{
"identifier": "default",
"windows": ["main"],
"permissions": ["core:default"]
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.plugin(tauri_plugin_deep_link::init())
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error");
}
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {}!", name)
}
| Problem | Solution |
|---|---|
| White screen | Check JS console, verify devUrl, check capabilities |
| iOS won't connect | Use --force-ip-prompt, select IPv6 |
| INSTALL_FAILED_ALREADY_EXISTS | adb uninstall com.your.app |
| Emulator not detected | Verify adb devices, restart ADB |
| HMR not working | Configure vite.config.ts with TAURI_DEV_HOST |
| Shell plugin URL error | Use opener plugin instead (openUrl()) |
| Google OAuth fails | Google blocks WebView; use system browser flow |
| Deep link not received | Check scheme in tauri.conf.json, init plugin |
| Safe area CSS fails on Android | env() not supported in WebView; use JS fallback |
| Windows APK build symlink error | Enable Developer Mode or copy .so files manually |
See references/testing.md for detailed troubleshooting.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.