
Offers detailed device information, including CPU, GPU, RAM, storage, battery, and system details, for easy integration into projects targeting Android and iOS.
DeviceKit KMP is a Kotlin Multiplatform library that provides a comprehensive set of device information, including CPU, GPU, RAM, storage, battery, and system details for both Android and iOS platforms.
✔ Retrieve detailed CPU, GPU, RAM, Storage, and Battery information
✔ Supports Android and iOS using Kotlin Multiplatform
✔ Easy to integrate
Add the following dependency to your Kotlin Multiplatform project:
commonMain.dependencies {
implementation("io.github.mohaberabi:device-kit:0.0.6")
}import com.mohaberabi.DeviceKit.devicekit.*
fun provideDeviceKit(factory: DeviceKitFactory) = factory.create()val deviceKit = AndroidDeviceKitFactory(context).create()
println("CPU Info: ${deviceKit.cpu.cpuInfo}")
println("Battery Level: ${deviceKit.battery.batteryLevel}%")
println("Total RAM: ${deviceKit.ram.totalRam} MB")val deviceKit = IosDeviceKitFactory().create()
println("Device Name: ${deviceKit.info.deviceName}")
println("OS Version: ${deviceKit.info.osVersion}")
println("Screen Size: ${deviceKit.gpu.screenSize}")interface DeviceKit {
val ram: RAMKit
val cellular: CellKit
val gpu: GPUKit
val cpu: CPUKit
val info: InfoKit
val storage: StorageKit
val battery: BatteryKit
}interface BatteryKit {
val deviceThermal: String
val batteryLevel: Int
val batteryTemperature: Double
val batteryPower: BatteryPower
}interface CPUKit {
val cpuInfo: String
val cpuCores: Int
}interface GPUKit {
val gpuInfo: String
val resolution: String
val screenDensity: Float
val refreshRate: Float
val screenSize: String
}interface RAMKit {
val ramInfo: String
val availableRam: Long
val totalRam: Long
}interface StorageKit {
val storageInfo: String
val availableExternalStorageSize: Long?
val totalInternalStorageSize: Long
val availableInternalStorageSize: Long
val externalStorageAvailable: Boolean
}interface InfoKit {
val deviceName: String
val manufacturer: String
val osName: String
val osVersionName: String
val osVersion: String
val appSize: Double
val model: String
val deviceTimeZone: String
val uuid: String
}DeviceKit KMP is a Kotlin Multiplatform library that provides a comprehensive set of device information, including CPU, GPU, RAM, storage, battery, and system details for both Android and iOS platforms.
✔ Retrieve detailed CPU, GPU, RAM, Storage, and Battery information
✔ Supports Android and iOS using Kotlin Multiplatform
✔ Easy to integrate
Add the following dependency to your Kotlin Multiplatform project:
commonMain.dependencies {
implementation("io.github.mohaberabi:device-kit:0.0.6")
}import com.mohaberabi.DeviceKit.devicekit.*
fun provideDeviceKit(factory: DeviceKitFactory) = factory.create()val deviceKit = AndroidDeviceKitFactory(context).create()
println("CPU Info: ${deviceKit.cpu.cpuInfo}")
println("Battery Level: ${deviceKit.battery.batteryLevel}%")
println("Total RAM: ${deviceKit.ram.totalRam} MB")val deviceKit = IosDeviceKitFactory().create()
println("Device Name: ${deviceKit.info.deviceName}")
println("OS Version: ${deviceKit.info.osVersion}")
println("Screen Size: ${deviceKit.gpu.screenSize}")interface DeviceKit {
val ram: RAMKit
val cellular: CellKit
val gpu: GPUKit
val cpu: CPUKit
val info: InfoKit
val storage: StorageKit
val battery: BatteryKit
}interface BatteryKit {
val deviceThermal: String
val batteryLevel: Int
val batteryTemperature: Double
val batteryPower: BatteryPower
}interface CPUKit {
val cpuInfo: String
val cpuCores: Int
}interface GPUKit {
val gpuInfo: String
val resolution: String
val screenDensity: Float
val refreshRate: Float
val screenSize: String
}interface RAMKit {
val ramInfo: String
val availableRam: Long
val totalRam: Long
}interface StorageKit {
val storageInfo: String
val availableExternalStorageSize: Long?
val totalInternalStorageSize: Long
val availableInternalStorageSize: Long
val externalStorageAvailable: Boolean
}interface InfoKit {
val deviceName: String
val manufacturer: String
val osName: String
val osVersionName: String
val osVersion: String
val appSize: Double
val model: String
val deviceTimeZone: String
val uuid: String
}