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

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.1 (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.1.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.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: avdcraft-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b52fee513be4ce55e976899b158705838472ff49cc22118c244131421d963656
MD5 5e68c3a1bfb02037d952879c150ee671
BLAKE2b-256 48272c51fe455df82c0c7b4ac8aff079c9cd419e61a2a5d0b746fd7623148290

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avdcraft-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 28857e5e5c76c3554eb8602f22e0952ae01bb2a348a34583c2781bfeebb6eb8b
MD5 62a053cb6320f11fbf7355515c66a73b
BLAKE2b-256 99727cdbfa12dbcd2a773913f85db064ac995b331d28b2eaeccefd9ad910428d

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