device_all_ggez

pub package License: MIT

A zero-boilerplate, hyper-detailed Android device system information and telemetry package for Flutter. Access low-level SoC models, JVM heap sizes, JVM memory stats, RAM thresholds, storage layers, and system clocks synchronously anywhere in your app after a single setup call.

Features

  • πŸ“± Deep Build Profiles: Fetch low-level SoC data (socModel, socManufacturer), hardware boards, SKUs, and device identifiers.
  • βš™οΈ OS Metrics: Extract SDK integers, granular security patch timestamps, and incremental firmware versions.
  • ⏰ Advanced Clocks: Monitor device uptime, runtime loops, boot epochs, and active timezone configurations.
  • 🧠 Memory & JVM Monitoring: Read underlying hardware RAM boundaries alongside real-time JVM maximum, active, and free heap byte arrays.
  • πŸ’Ύ Multi-Partition Storage: Seamlessly check total, free, and target usable blocks across both internal structures and root paths.
  • ❄️ Hardware Telemetry: Read real-time thermal throttling statuses (thermalStatus), locale structures, and active OpenGL versions.

Platform Support

Android iOS Linux macOS Windows Web
βœ… ❌ ❌ ❌ ❌ ❌

Note: This package is explicitly tailored to extract low-level Android system frameworks and Linux bindings.

Installation

Add device_all_ggez to your project's pubspec.yaml file:

dependencies:
  device_all_ggez: ^1.0.0

Then, pull down the dependency:

flutter pub get

Usage

Unlike complex plugins that require asynchronous lookups every time you fetch a property, device_all_ggez updates global cache references instantly. Just execute refresh() once at app initialization or ahead of analytics snapshots.

import 'package:device_all_ggez/device_all_ggez.dart';

void main() async {
  // Ensure Flutter engine bindings are alive if calling before runApp()
  WidgetsFlutterBinding.ensureInitialized();

  // Populate data caches synchronously across the application layer
  await DeviceAllGgez.refresh();

  runApp(const MyApp());
}

// Access nested metrics anywhere, instantly without utilizing FutureBuilders!
void checkSystemDetails() {
  print("Device: DeviceAllGgez.build.manufacturer {DeviceAllGgez.build.model}"); 
  print("Silicon: DeviceAllGgez.build.socModel ({DeviceAllGgez.build.socManufacturer})");
  print("Android SDK: \${DeviceAllGgez.osVersion.sdkInt}");
  print("Total RAM: \${DeviceAllGgez.system.ramTotalGB} GB");
  print("Thermal Health: \${DeviceAllGgez.hardware.thermalStatus}");
}

Telemetry Mapping API

some of the properties available are as follows

1. DeviceAllGgez.build

Property Type Description
model String The end-user visible name for the product (e.g., Pixel 6).
manufacturer String The product/hardware manufacturer (e.g., Google).
socModel String The explicit System-on-Chip model string (e.g., GS101).
socManufacturer String The explicit manufacturer of the underlying SoC.
supportedAbis List<String> Ordered array of ABIs supported by this hardware binary layout.

2. DeviceAllGgez.osVersion

Property Type Description
release String User-visible operating system version string (e.g., 13).
sdkInt int The framework API Level version integer (e.g., 33).
securityPatch String The raw timestamp string of the active security patch.

3. DeviceAllGgez.clock

Property Type Description
bootTimeEpochMillis int Absolute wall clock time in milliseconds since epoch when the system booted.
uptimeMillis int Count of active execution loop intervals since power-on excluding deep sleep.

4. DeviceAllGgez.system

Property Type Description
processorCount int Total available processing core lines exposed to the execution loop.
ramTotalGB double Aggregated underlying physical volatile memory scaled to standard Gigabytes.
ramTotalBytes int Exact system RAM available in raw bytes.
jvmMaxMemoryBytes int The absolute ceiling threshold memory limit the local virtual machine will attempt to use.

5. DeviceAllGgez.hardware

Property Type Description
thermalStatus String Active core temperature mitigation state flags (e.g., NONE, LIGHT, SEVERE).
openGlVersion String Supported system client driver bindings context name for application render surfaces.

License

This project is licensed under the MIT License - see the LICENSE file for details.