Automated Android Virtual Device (AVD) setup and management tool — streamlines emulator configuration and creation for Android developers using Android Studio
Project description
avdcraft
█████╗ ██╗ ██╗██████╗ ██████╗██████╗ █████╗ ███████╗████████╗
██╔══██╗██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝
███████║██║ ██║██║ ██║██║ ██████╔╝███████║█████╗ ██║
██╔══██║╚██╗ ██╔╝██║ ██║██║ ██╔══██╗██╔══██║██╔══╝ ██║
██║ ██║ ╚████╔╝ ██████╔╝╚██████╗██║ ██║██║ ██║██║ ██║
╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
▸ A V D C R A F T ◂
Created by: Nandhan K | v1.0.0
═══════════════════════════════════════════════════════════════
Automated Android Virtual Device (AVD) Setup and Management Tool
A sophisticated Python utility that streamlines Android Virtual Device configuration and emulator management for Android developers using Android Studio. Automates complex setup tasks, eliminates manual configuration, and accelerates development workflow initialization.
Features
✅ Intelligent Java Management — Auto-detects, validates, and installs Java 17 (Eclipse Temurin) with version verification
✅ Automated SDK Acquisition — Downloads Android cmdline-tools from Google's official manifests with integrity validation
✅ System Image Orchestration — Automatically retrieves and installs required system images (API 33 / Android 13)
✅ Streamlined AVD Creation — Configures Pixel 7 AVD with optimal emulator parameters and hardware profiles
✅ Launcher Generation — Creates platform-specific scripts for immediate emulator deployment
✅ Cross-Framework Support — Works with Flutter, Kotlin, Java, and any Android development framework
✅ Zero-Elevation Operation — Portable installation without requiring administrator privileges
✅ Configuration-Driven — TOML-based configuration system for advanced customization
✅ Windows Optimized — Fully featured Windows support (Linux/macOS support planned)
Installation
From PyPI (Recommended)
pip install avdcraft
Avdcraft is published on PyPI and can be installed with a single command.
From Source (Development)
For contributing or using the latest unreleased features:
git clone https://github.com/Nandhan-KA/avdcraft.git
cd avdcraft
pip install -e .
System Requirements
- Python: 3.7 or higher
- Operating System: Windows (Linux/macOS support planned)
- Disk Space: ~400 MB (for Java + SDK tools + system image)
- Internet: Required for initial tool downloads
Quick Start
1. Initialize setup
avdcraft
2. Automated Workflow
- Java 17 validation and installation (if required)
- Android SDK cmdline-tools acquisition
- System image provisioning
- AVD configuration and creation
- Launcher script generation
3. Ready to Deploy
Your configured emulator is ready for immediate use:
# Start the emulator
.\start_emulator.bat
# In another terminal, deploy your application
flutter run
# or for native Android development
./gradlew installDebug
Configuration
Fine-tune behavior via avdcraft/config.toml:
[android]
system_image = "system-images;android-33;google_apis;x86_64"
default_name = "Pixel_7_API_33"
api_level = 33
[java]
version_required = 17
[ui]
section_width = 52
timeout_download = 120
Configuration Parameters
- system_image: Target system image identifier from Android SDK
- default_name: AVD display name and identifier
- api_level: Android API level for the virtual device
- version_required: Minimum Java version (JDK) required
- section_width: Console output formatting width
- timeout_download: Download timeout in seconds
Architecture
avdcraft/
├── config.py # Configuration loader (uses pytoml)
├── core.py # Core functionality (Java, tools, AVD management)
├── cli.py # Command-line interface
├── config.toml # Configuration file
└── __init__.py # Package initialization
Requirements
- Python 3.7+
pytoml(automatically installed with avdcraft)- Windows OS
- ~400 MB disk space (for Java + SDK tools + system image)
- No administrator privileges required
Development
Environment Setup
pip install -e ".[dev]"
Testing & Quality Assurance
# Run comprehensive test suite
pytest -v
# Code formatting with Black
black avdcraft/
# Static analysis with Flake8
flake8 avdcraft/ --max-line-length=100
# Type checking (optional)
mypy avdcraft/ --ignore-missing-imports
License
MIT License © 2026 Nandhan K - see LICENSE file for details
Author
Nandhan K - @Nandhan-KA
Email: nandhank@scholarpeak.in
Made with ❤️ for Android developers
Contributing
Contributions are welcome! Please feel free to:
- Report bugs via GitHub Issues
- Submit feature requests and suggestions
- Fork and submit pull requests
- Improve documentation
Development Setup
git clone https://github.com/Nandhan-KA/avdcraft.git
cd avdcraft
pip install -e ".[dev]"
Changelog
v1.0.0 (2026-04-17)
- Initial release with full AVD automation
- Java 17 detection, validation, and installation
- Android SDK cmdline-tools automated acquisition
- Pixel 7 API 33 AVD creation with optimal configuration
- Cross-platform launcher script generation
- TOML-based configuration system
- Comprehensive error handling and user feedback
- Cross-framework support (Flutter, Kotlin, Java, etc.)
FAQ
Q: Does avdcraft require administrator privileges?
A: No. All components are installed portably in the user's .android directory, requiring no elevated permissions.
Q: How does avdcraft handle existing Java installations?
A: The tool performs version validation and automatically uses compatible installations. If no suitable version exists, it performs a fresh installation.
Q: Can AVD configuration be customized beyond the defaults?
A: Yes. Modify avdcraft/config.toml to adjust system images, API levels, AVD names, and other parameters.
Q: Is this limited to Flutter development?
A: No. avdcraft works with any Android development framework (Flutter, Kotlin, Java, etc.) and integrates with Android Studio workflows.
Q: What is the cleanup procedure?
A: The pip package can be uninstalled independently. Android SDK and Java installations remain available for other development tools.
Q: What platforms are supported?
A: Currently Windows. Linux and macOS support is planned for future releases.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avdcraft-1.0.0.tar.gz.
File metadata
- Download URL: avdcraft-1.0.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e015e857b8d006048a520ed3c5630aae588b1c51735c32376806feaefc407bf
|
|
| MD5 |
e7ef83f574843a8fe37d1cb9dc141716
|
|
| BLAKE2b-256 |
5eba696841712c6e7bc98cbd865eb8a585b8915231f9bd8c4f5370e7e3749e22
|
File details
Details for the file avdcraft-1.0.0-py3-none-any.whl.
File metadata
- Download URL: avdcraft-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d8ae7422b57d9cedf3b944d3257a3eb05542495fdd78c0fddefa9643c5f088f
|
|
| MD5 |
02b37946b8717ed2c0d597c6b8962213
|
|
| BLAKE2b-256 |
bd207a2ea40a8b9dee30620f8d904b2bc8f939292a0e6f692b88491b02cec0e6
|