An Android application to extract and create Ren'Py RPA archives and decompile RPYC scripts directly on your device.
- Extract RPA Archives: Unpack Ren'Py game archives to access images, scripts, audio, and other assets
- Create RPA Archives: Package files and folders into RPA v3 format archives
- Decompile RPYC Scripts: Convert compiled .rpyc files back to readable .rpy source scripts
- Batch Operations: Extract multiple RPA files or decompile multiple RPYC files at once
- Multi-Select Support: Long-press to select multiple files or folders for batch operations
- Smart Directory Defaults: Output directory automatically defaults to the location of selected input files
- Real-time Progress Tracking: View extraction/creation/decompilation progress with file counts, speed, and ETA
- Android 11 or higher
- MANAGE_EXTERNAL_STORAGE permission: Required for direct file system access
- Storage: Enough space for extracted/created archives
- Download the latest APK from the Releases page
- Enable "Install from Unknown Sources" if needed
- Install the APK
- Grant storage permissions when prompted (MANAGE_EXTERNAL_STORAGE)
- Android Studio Arctic Fox or later
- Android SDK with API 34+
- Python 3.8+ (for Chaquopy build)
- Gradle 8.0+
-
Clone the repository:
git clone https://github.com/yourusername/Rentool.git cd Rentool -
Open the project in Android Studio
-
Sync Gradle files (Android Studio should prompt automatically)
-
Build the APK:
- Via Android Studio: Build → Build Bundle(s) / APK(s) → Build APK(s)
- Via Command Line:
./gradlew assembleDebug
-
The APK will be located at:
app/build/outputs/apk/debug/app-debug.apk
The project uses Chaquopy to integrate Python for RPA archive operations and RPYC decompilation. Chaquopy will automatically detect your Python installation during build.
If auto-detection fails, you can manually specify your Python path in app/build.gradle:
python {
buildPython "/path/to/python"
}- Tap the "Extract RPA" card
- Browse and select one or more
.rpafiles:- Single tap: Select one file
- Long-press: Enter multi-select mode to choose multiple files
- Select the destination folder (defaults to the folder containing the RPA files)
- Wait for extraction to complete
- Files will be extracted to the chosen directory (overwrites existing files)
- Tap the "Create RPA" card
- Browse and select files/folders to archive:
- Single tap: Select one folder
- Long-press: Enter multi-select mode to choose multiple items
- Enter a name for the output RPA file (e.g.,
archive.rpa) - Wait for creation to complete
- The RPA file will be created in the parent directory of selected items
- Tap the "Decompile RPYC" card
- Browse and select
.rpycfiles or folders containing scripts:- Single tap: Select individual files or an entire folder (e.g.,
/gamefolder) - Long-press: Enter multi-select mode to choose multiple files/folders
- Single tap: Select individual files or an entire folder (e.g.,
- Select the destination folder (defaults to the folder containing the RPYC files)
- Wait for decompilation to complete
- Decompiled
.rpyfiles will be saved to the chosen directory
Tip: Selecting a game's /game folder is the fastest way to decompile all scripts at once.
- RPA Version: v3 (Ren'Py 7.4+)
- Format Key:
0xDEADBEEF(standard Ren'Py key) - Compression: ZLib
- Uses direct
FileAPI for maximum performance - Requires
MANAGE_EXTERNAL_STORAGEpermission on Android 11+ - Files are overwritten without prompting during extraction
- Batch creation uses temporary directory for combining multiple sources
- JSON-based progress file updated in real-time
- Polling interval: 500ms
- Tracks: file count, current file, speed (files/sec), ETA
- Language: Java, Python
- UI Framework: Material Design 3
- Python Integration: Chaquopy
- RPA Library: rpatool.py
- Decompiler: unrpyc
- File Picker: Custom RecyclerView-based picker with multi-select
- RPA Format: Based on Ren'Py archive specification
- Python Integration: Chaquopy
- Folder Icons: Icons8
- Rpatool: Shizmob
- Unrpyc: CensoredUsername
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
This tool is intended for educational purposes and for modding/backing up Ren'Py games you own. Respect game developers' intellectual property and terms of service.
For issues, questions, or feature requests, please open an issue on the GitHub Issues page.