18034727885
2026-08-07 bbc64160643c4ed818eb574831dc303b0a979089
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.driver.igotrip.utils.crash
 
import android.app.ActivityManager
import java.util.UUID
 
/**
 * 崩溃信息数据类
 * 封装一次崩溃所需的全部上下文
 */
data class CrashInfo(
    val id: String = UUID.randomUUID().toString(),        // 崩溃唯一ID,便于去重
    val timestamp: Long = System.currentTimeMillis(),     // 崩溃发生时间
    val threadName: String,                               // 发生崩溃的线程名
    val exceptionType: String,                            // 异常类型(如 NullPointerException)
    val exceptionMessage: String?,                        // 异常消息
    val stackTrace: String,                               // 完整堆栈信息
    val deviceInfo: DeviceInfo,                           // 设备信息
    val appInfo: AppInfo,                                 // 应用信息
    val memoryInfo: ActivityManager.MemoryInfo? = null                    // 内存快照(可选)
) {
    /**
     * 设备信息子数据类
     */
    data class DeviceInfo(
        val manufacturer: String,  // 厂商,如 "Xiaomi"
        val model: String,          // 型号,如 "Redmi K60"
        val sdkVersion: Int,        // Android SDK 版本
        val osVersion: String       // Android 系统版本
    )
 
    /**
     * 应用信息子数据类
     */
    data class AppInfo(
        val packageName: String,    // 应用包名
        val versionName: String,    // 版本名,如 "1.2.0"
        val versionCode: Long       // 版本号
    )
}