advanced_device_info

A production-ready Flutter plugin for retrieving comprehensive, system-level device and hardware information on Android and iOS. Built with clean architecture, strict error safety, and high-performance native APIs.

Features

📱 Device Information

  • Retrieve device manufacturer, brand, model name, and user-facing device name.
  • Fetch raw build metadata (SDK level, display ID, hardware, fingerprint, etc.).
  • Built-in robust simulator/emulator detection.

💾 Storage Info

  • Total disk capacity, available/free space, and used space in bytes.
  • Current storage usage percentage.

🧠 RAM Memory Info

  • Total system memory (RAM), available RAM, and used RAM in bytes.
  • Real-time RAM memory usage percentage.

⚡ CPU Info

  • Host CPU architecture (e.g. arm64, x86_64).
  • Number of active processing cores.

🖥️ Screen/Display Info

  • Screen resolution in pixels (width and height).
  • Display scale / pixel density factor.
  • Display refresh rate in Hz.

Installation

Add advanced_device_info to your pubspec.yaml dependencies:

dependencies:
  advanced_device_info:
    path: ../advanced_device_info # or version constraint when published

Usage

Import the package:

import 'package:advanced_device_info/advanced_device_info.dart';

Retrieve System Information

Get all hardware and system metrics in a single, highly efficient native invocation:

try {
  final SystemInfo systemInfo = await AdvancedDeviceInfo.getSystemInfo();
  
  print("Device: ${systemInfo.deviceInfo.deviceName}");
  print("RAM: ${systemInfo.memoryInfo.usagePercentage}% used");
  print("Cores: ${systemInfo.cpuInfo.cores}");
  print("Resolution: ${systemInfo.screenInfo.width}x${systemInfo.screenInfo.height}");
} catch (e) {
  print("Failed to get device info: $e");
}

Retrieve Individual Metrics

You can also fetch specific categories individually:

// Device Metadata
final DeviceInfo device = await AdvancedDeviceInfo.getDeviceInfo();

// Storage Usage
final StorageInfo storage = await AdvancedDeviceInfo.getStorageInfo();

// Memory (RAM)
final MemoryInfo memory = await AdvancedDeviceInfo.getMemoryInfo();

// CPU Info
final CpuInfo cpu = await AdvancedDeviceInfo.getCpuInfo();

// Display Info
final ScreenInfo screen = await AdvancedDeviceInfo.getScreenInfo();