Skip to content

Commit a756557

Browse files
authored
Merge pull request #6 from NmurtasDev/docs/update-readme
Update README.md with v3.0 features and release pipeline info
2 parents 6725a08 + e3d395e commit a756557

1 file changed

Lines changed: 69 additions & 10 deletions

File tree

README.md

Lines changed: 69 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,22 @@
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

1010
A 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

101106
1. **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

134151
This 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

Comments
 (0)