Releases: klong-dev/AndroidScreenCapture
Releases · klong-dev/AndroidScreenCapture
Release list
AndroidScreenCapture v1.0.0 - First Stable Release
🎉 First Stable Release
AndroidScreenCapture v1.0.0 is now available! This is the first stable release of our .NET library for high-performance Android screenshot capture.
✨ Features
🚀 Dual Capture Methods
- High-performance scrcpy method: Direct communication with scrcpy-server for fastest capture
- Fallback screencap method: Traditional Android screencap command for compatibility
- Persistent connections: Maintain connection to scrcpy-server for rapid consecutive captures
📱 Multi-Device Support
- Automatic device discovery via ADB
- Support for multiple connected Android devices
- Device caching for improved performance
- Connection status monitoring
🎯 Easy Integration
- Factory pattern for simple usage
- Comprehensive API with interfaces
- Async/await pattern throughout
- Multiple image formats (PNG, JPEG, BMP, GIF)
🔧 Built on Proven Technology
- Based on QtScrcpy components
- Uses official ADB binaries
- Optimized dependency set (6.2MB vs 100+MB original)
- Windows-focused with .NET 8.0 compatibility
📦 What's Included
Core Library
AndroidScreenCapture.dll- Main libraryAndroidScreenCapture.xml- XML documentation- Complete source code
Dependencies
adb.exe- Android Debug BridgeAdbWinApi.dll- Windows ADB APIAdbWinUsbApi.dll- USB communicationscrcpy-server- High-performance capture server
Documentation
- README.md - Quick start and API reference
- HUONG_DAN_SU_DUNG.md - Comprehensive Vietnamese guide
- USER_GUIDE.md - Detailed English documentation
🚀 Quick Start
using AndroidScreenCapture;
// Simple screenshot capture
var screenshot = await ScreenCaptureFactory.CaptureScreenshotFromFirstDeviceAsync();
screenshot?.Save("screenshot.png");
// Advanced usage with device management
var deviceManager = ScreenCaptureFactory.CreateDeviceManager();
var devices = await deviceManager.GetConnectedDevicesAsync();
var device = deviceManager.GetDevice(devices.First());
// Persistent connection for multiple captures
await device.ConnectToScrcpyServerAsync();
for (int i = 0; i < 10; i++)
{
var img = await device.CaptureScreenshotFromConnectedServerAsync();
img?.Save($"capture_{i}.png");
}
await device.DisconnectFromScrcpyServerAsync();📋 System Requirements
- .NET 8.0 or later
- Windows OS (due to System.Drawing.Common)
- Android device with USB Debugging enabled
- USB connection or ADB over network
🔧 Installation
- Download the release package
- Extract to your project directory
- Reference
AndroidScreenCapture.dll - Ensure dependency files are in the same directory
- Add required NuGet packages:
- System.Drawing.Common (8.0.0)
- FFMpegCore (5.0.2)
📊 Performance Highlights
- Standard method: ~500-1000ms per capture
- Persistent scrcpy: ~50-200ms per capture (after initial connection)
- Memory efficient: Proper disposal patterns implemented
- Minimal footprint: Only 6.2MB of dependencies
🐛 Known Issues
- Platform warnings for System.Drawing.Common (expected on Windows)
- Requires Windows environment due to image processing libraries
- Some devices may not support scrcpy method (fallback available)
🔮 Future Plans
- Cross-platform support investigation
- Video recording capabilities
- Additional image processing features
- Performance optimizations
- More device compatibility
🙏 Acknowledgments
This library is built upon the excellent work of the QtScrcpy project, extracting and adapting the core screenshot functionality for .NET developers.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
Full Changelog: https://github.com/klong-dev/AndroidScreenCapture/commits/v1.0.0