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.3
    ═══════════════════════════════════════════════════════════════

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.3 (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.3.tar.gz (23.5 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.3-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: avdcraft-1.0.3.tar.gz
  • Upload date:
  • Size: 23.5 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.3.tar.gz
Algorithm Hash digest
SHA256 505e8704236b2f2828f695904f29e4c1d9682660ba39cb31a0fcbc109630b99b
MD5 6dac3ca614c8ca7912be371ed74aff37
BLAKE2b-256 4a1bd17c781d84b07a32be0f602bb221b2b2ac82df4bce7d5d0da1262e03141d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avdcraft-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 20.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3414a30c9f85202146a06476d6b4cce3bf345fafb1e8a633973e0907bb8ae8e0
MD5 68be1e6053fbbc82d696cff8992da613
BLAKE2b-256 54d591f2ccf93eb7f69a9be6d88d16fdb5f8adf431cad4f846ffdd2f2b2478c9

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