Skip to main content

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.

Release files for avdcraft 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avdcraft 1.0.3
File Size Uploaded
avdcraft-1.0.3.tar.gz 23.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for avdcraft 1.0.3
File Interpreter ABI Platform
avdcraft-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 44.1 kB

Release files / avdcraft-1.0.3.tar.gz

Download URL avdcraft-1.0.3.tar.gz
Size 23.5 kB
Tags Source
SHA-256 checksum
How to use checksums
505e8704236b2f2828f695904f29e4c1d9682660ba39cb31a0fcbc109630b99b
BLAKE2b-256 checksum
How to use checksums
4a1bd17c781d84b07a32be0f602bb221b2b2ac82df4bce7d5d0da1262e03141d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.2

Release files / avdcraft-1.0.3-py3-none-any.whl

Download URL avdcraft-1.0.3-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3414a30c9f85202146a06476d6b4cce3bf345fafb1e8a633973e0907bb8ae8e0
BLAKE2b-256 checksum
How to use checksums
54d591f2ccf93eb7f69a9be6d88d16fdb5f8adf431cad4f846ffdd2f2b2478c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.2

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page