55[ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
66[ ![ Java Version] ( https://img.shields.io/badge/Java-21-blue.svg )] ( https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html )
77[ ![ Platform] ( https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg )] ( https://github.com/NmurtasDev/AndroidEmulatorManager )
8- [ ![ Version] ( https://img.shields.io/badge/version-3.0.0--SNAPSHOT -orange.svg )] ( https://github.com/NmurtasDev/AndroidEmulatorManager/releases )
8+ [ ![ Version] ( https://img.shields.io/badge/version-3.0.0--beta -orange.svg )] ( https://github.com/NmurtasDev/AndroidEmulatorManager/releases )
99
1010A modern ** Java-based GUI tool** to download, install, and manage Android SDK and emulators.
1111
1212## Features
1313
14- - ** Automated SDK Setup** : Download and install Android SDK automatically
14+ - ** Automated SDK Setup** : Download and install Android SDK automatically with license agreement
15+ - ** Card-Based Device UI** : Modern card interface with pagination (10 devices per page)
16+ - ** Smart Accordions** : Auto-collapsing SDK configuration and expandable logs
1517- ** Cross-Platform** : Works on Windows, Linux, and macOS
16- - ** Emulator Management** : Create, start, stop, and delete Android Virtual Devices (AVDs)
18+ - ** Emulator Management** : Create, start, stop, rename, and delete Android Virtual Devices (AVDs)
19+ - ** Device Information** : Display Android version, device type, and running status
20+ - ** AVD Name Validation** : Prevent invalid characters and spaces in AVD names
21+ - ** Dark Theme Support** : Automatically adapts to system theme (Gnome, KDE, Windows)
1722- ** Modern Architecture** : Built with Java 21 and Maven
18- - ** Clean UI ** : User-friendly Swing-based interface
23+ - ** Automated Releases ** : GitHub Actions pipeline for multi-platform builds
1924- ** Logging** : Comprehensive logging with SLF4J and Logback
2025
2126## Requirements
@@ -99,9 +104,21 @@ mvn clean package -Plinux-deb
99104## Usage
100105
1011061 . ** Launch the application**
102- 2 . ** Click "Scarica SDK"** to automatically download and install Android SDK
103- 3 . ** Create a new AVD** by clicking "Crea Nuovo"
104- 4 . ** Select an AVD** from the list and click "Avvia" to start the emulator
107+ 2 . ** SDK Configuration** (if not already configured):
108+ - Expand the SDK Configuration accordion
109+ - Click "Download SDK" and accept the Android SDK License Agreement
110+ - Wait for automatic download and installation
111+ 3 . ** Create AVDs** :
112+ - Click "Create New AVD"
113+ - Choose API level and device type
114+ - Enter a valid name (letters, numbers, underscores, hyphens only)
115+ 4 . ** Manage Devices** :
116+ - View devices as cards showing Android version, device type, and status
117+ - Use ▶ to start, ■ to stop, ✎ to rename, 🗑 to delete
118+ - Navigate pages if you have more than 10 devices
119+ 5 . ** Monitor Activity** :
120+ - Click the Log accordion to view detailed operation logs
121+ - Use "Clear" button to reset the log
105122
106123## SDK Installation Paths
107124
@@ -133,14 +150,56 @@ AndroidEmulatorManager/
133150
134151This version introduces major architectural improvements over previous versions:
135152
153+ ### Technical Improvements
136154- ✅ ** Proper separation of concerns** (UI, Service, Util layers)
137- - ✅ ** Modern Java 21** features and best practices
155+ - ✅ ** Modern Java 21** features (text blocks, records, switch expressions)
138156- ✅ ** Maven build system** for dependency management
139157- ✅ ** Professional logging** with SLF4J/Logback
140158- ✅ ** Security improvements** (no command injection vulnerabilities)
141159- ✅ ** Better error handling** and user feedback
142160- ✅ ** Unit tests** for critical functionality
143- - ✅ ** Cross-platform compatibility** tested
161+ - ✅ ** Cross-platform compatibility** tested on Windows, Linux (Gnome/KDE), macOS
162+
163+ ### UI/UX Improvements
164+ - ✅ ** Card-based device interface** with pagination
165+ - ✅ ** Smart accordions** for SDK and logs (auto-collapse/expand)
166+ - ✅ ** Android SDK License Agreement** dialog before download
167+ - ✅ ** Real-time device info** (Android version, device type, running status)
168+ - ✅ ** AVD name validation** to prevent errors
169+ - ✅ ** Dark theme support** with automatic system theme detection
170+ - ✅ ** Rename AVD functionality** directly from UI
171+
172+ ### CI/CD
173+ - ✅ ** Automated releases** via GitHub Actions on tag push
174+ - ✅ ** Multi-platform builds** (JAR, Windows EXE)
175+ - ✅ ** Pre-release support** for beta/RC versions
176+ - ✅ ** CodeQL security scanning** on every commit
177+
178+ ## Release Pipeline
179+
180+ This project uses ** automated releases** via GitHub Actions. When a version tag is pushed, the pipeline automatically:
181+
182+ 1 . Builds Universal JAR and Windows EXE
183+ 2 . Creates a GitHub Release (stable or pre-release based on tag format)
184+ 3 . Uploads all binaries automatically
185+ 4 . Generates release notes from commits
186+
187+ ### Creating a Release
188+
189+ See [ RELEASE.md] ( RELEASE.md ) for detailed instructions on creating releases.
190+
191+ ** Quick example:**
192+ ``` bash
193+ # For a stable release
194+ git tag v3.0.0
195+ git push origin v3.0.0
196+
197+ # For a pre-release (beta, RC, alpha)
198+ git tag v3.0.0-beta
199+ git push origin v3.0.0-beta
200+ ```
201+
202+ The pipeline detects pre-releases automatically (tags containing ` - ` ) and marks them accordingly on GitHub.
144203
145204## Previous Versions
146205
@@ -149,7 +208,7 @@ Older versions (v1 and v2) are available in the `OLD/` directory for reference.
149208### Key Differences:
150209- ** V1** : Single file, saves SDK to user home
151210- ** V2** : Single file, hardcoded path to ` C:\Android\sdk `
152- - ** V3** (current): Modular architecture, configurable paths , Java 21
211+ - ** V3** (current): Modular architecture, card UI, accordions, automated releases , Java 21
153212
154213## Contributing
155214
0 commit comments