rpg2android
v1.0.0
Published
RPG Maker MV/MZ → Android APK, iOS, Desktop, Web — native builds without emulators
Maintainers
Readme
🎮 RPG2Android — RPG Maker → Mobile APK / Desktop / Web
Convert RPG Maker MV/MZ games into native Android APK, iOS Xcode project, Linux/macOS desktop builds, and Web/PWA for itch.io — no emulator needed.
📥 Download (Desktop GUI App)
All-in-one — download the installer for your OS. The CLI is built right in — no Node.js, no Java, no Android SDK required.
| Platform | Format | Link |
|---|---|---|
| 🪟 Windows | .exe (NSIS) / .msi | GitHub Releases ↓ |
| 🐧 Linux | .AppImage / .deb | GitHub Releases ↓ |
| 🍏 macOS (Apple Silicon) | .dmg / .app.zip | GitHub Releases ↓ |
💡 Prefer the CLI? Install it via npm:
npm install -g rpg2android. See Quick Start below.
✨ Features
| Feature | Description |
|---|---|
| 📱 Android APK/AAB | Full Capacitor pipeline — decrypt, copy, build, sign |
| 🍏 iOS Xcode project | Capacitor-based, build on Mac |
| 🐧 Linux / 🍏 macOS desktop | NW.js wrapper |
| 🌐 Web / PWA | itch.io / GitHub Pages ready with offline support |
| 🔓 Decryption | XOR decryption for MV (.rpgmvp) & MZ (_ suffix) |
| 🗜️ Optimization | PNG → WebP lossless compression (−25-30% size) |
| 🎮 Virtual Gamepad | On-screen D-Pad + A/B buttons (toggleable) |
| 🔑 APK Signing | Auto-generated keystore for release builds |
| 🔍 Plugin Analysis | Detect NW.js-only & risky plugins for mobile |
| 📊 Size Analyzer | Analyze game file sizes and estimate build sizes |
| 🖥️ Dev Server | Local HTTP server to play in browser |
| 🖥️ GUI | Tauri desktop app (Preact + Rust) |
🚀 Quick Start
Prerequisites
- Node.js 18+
- Java JDK 17+ (for Android builds)
- Android SDK (for Android builds — CLI can auto-install)
Install & Run
# Via npx (no install needed)
npx rpg2android build "./My Game" -o ./output.apk
# Or install globally
npm install -g rpg2android
rpg2android detect "./My Game" --verboseCLI Commands
# Detect & analyze a game
rpg2android detect "./game" --verbose
# Decrypt encrypted files
rpg2android decrypt "./game" -o ./decrypted
# Build for Android APK
rpg2android build "./game" -o game.apk
# Build with options
rpg2android build "./game" \
-o game.apk \
--name "My Game" \
--package "com.mygame.app" \
--orientation landscape \
--screen-mode stretch \
--optimize \
--gamepad \
--sign
# Build for Web/PWA
rpg2android build "./game" --target web -o ./game-web
# Build AAB for Google Play
rpg2android build "./game" --target android --aab -o game.aab
# Check mobile compatibility
rpg2android compat "./game"
# Analyze game file sizes
rpg2android size "./game"
# 🖥️ Start local dev server (play in browser)
rpg2android serve "./game" -p 8080
# Use Russian language for CLI
rpg2android --lang ru build "./game"GUI App
Download the latest release from GitHub Releases or build from source:
cd gui
npm install
cd ../src-tauri
cargo tauri buildThe GUI is available for Windows (.msi), Linux (.AppImage), and macOS (.dmg).
🏗️ Architecture
src/
├── core/ # Game detection, parsing, compatibility
│ ├── detector.ts # RPG Maker version & structure detection
│ ├── parser.ts # System.json, MapInfos, plugins.js parsing
│ ├── compat.ts # Plugin/settings compatibility analysis
│ ├── size-analyzer.ts # Game file size analysis
│ └── types.ts # Shared TypeScript interfaces
├── decrypt/ # XOR decryption (MV & MZ)
├── extract/ # Distribution extraction (dir, .exe, .zip)
├── build/ # Build targets
│ ├── capacitor.ts # Android APK/AAB & iOS Xcode
│ ├── nwjs.ts # Linux & macOS desktop
│ └── web.ts # Web/PWA for itch.io
├── optimize/ # PNG → WebP compression
├── serve/ # Local dev HTTP server
├── i18n.ts # CLI internationalization
└── index.ts # CLI entry point (Commander.js)
gui/ # Tauri desktop GUI (Preact + CSS)
src-tauri/ # Rust backend (Tauri v2)🧪 Tested Games
| Game | Engine | Files | Status | |---|---|---|---| | Summer Memories | MV | ~6,600 | ✅ Full pipeline works | | Erina and the City of Machines | MZ | ~5,600 | ✅ Full pipeline works |
🛠️ Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run tests
npm test
# Watch mode
npm run dev
# Build Tauri GUI
npm run tauri:build📦 Publishing
# Build TypeScript
npm run build
# Publish to npm
npm publish📋 Requirements by Platform
| Platform | Requirements | |---|---| | Android | Node.js 18+, Java JDK 17+, Android SDK | | iOS | macOS + Xcode (Capacitor project, build manually) | | Linux desktop | Node.js 18+ (NW.js downloaded automatically) | | macOS desktop | macOS + Node.js 18+ | | Web/PWA | None (just a static file server) | | Dev server | None (any browser on the network) |
⚠️ Limitations
- RPG Maker VX / VX Ace (RGSS/Ruby) are not supported (yet)
- iOS builds require a Mac to compile in Xcode
- Very large games (>2GB) may need manual
build.gradleconfig tweaks - Some NW.js-specific plugins won't work on mobile (see
compatcommand)
📄 License
MIT
Built with ❤️ using Capacitor, Tauri, and NW.js
