Skip to main content

Automated Android Virtual Device (AVD) setup and management tool — streamlines emulator configuration and creation for Android developers using Android Studio

Project description

avdcraft

PyPI version Python 3.7+ License: MIT GitHub Repo Downloads

 █████╗ ██╗   ██╗██████╗  ██████╗██████╗  █████╗ ███████╗████████╗
██╔══██╗██║   ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝
███████║██║   ██║██║  ██║██║     ██████╔╝███████║█████╗     ██║   
██╔══██║╚██╗ ██╔╝██║  ██║██║     ██╔══██╗██╔══██║██╔══╝     ██║   
██║  ██║ ╚████╔╝ ██████╔╝╚██████╗██║  ██║██║  ██║██║        ██║   
╚═╝  ╚═╝  ╚═══╝  ╚═════╝  ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝        ╚═╝   

        ▸ A V D C R A F T ◂

    Created by: Nandhan K                    | v1.0.2
    ═══════════════════════════════════════════════════════════════

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.2 (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

avdcraft-1.0.2.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avdcraft-1.0.2-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file avdcraft-1.0.2.tar.gz.

File metadata

  • Download URL: avdcraft-1.0.2.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

Hashes for avdcraft-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a8c99b2b4c16b4ae999fcd4a46aea400fad02cfdb9543eea6b5689d8a5a7a126
MD5 1fe27b6aabf3a588ddbc7a0dce410f83
BLAKE2b-256 26bc8ef7c0c8c2da514fcacfe68f621d941b3597fb1c1199ec1d0b3d30f48c26

See more details on using hashes here.

File details

Details for the file avdcraft-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: avdcraft-1.0.2-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

Hashes for avdcraft-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0706bb8e417a388963577a7cdce8a807cbc4c58ad208dc1dde7c2299402d79
MD5 18545d32959f22b3c38c3b1cab86ae55
BLAKE2b-256 cee89b9bbf945d8c616eb00439308e1cb5fcc9e98e010ba4190a0dadfe65faca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page