【仙女】Android手机信息获取很难?

MobileInfo

获取Android手机硬件的全部信息


github传送门

Table of Contents

依赖

implementation 'fairy.easy:mobilehardware:{latest-version}'

复制代码

数据信息

App信息获取

代码示例
 PackageHelper.getPackageInfo(getApplicationContext())
复制代码
数据格式
{
    "appName":"MobileInfo",
    "packageName":"com.mobile.mobileinfo",
    "packageSign":"521cec5eb6984bc70f5b2a27e437b979",
    "appVersionCode":"1",
    "appVersionName":"1.0"
}
复制代码
数据键数据类型数据解释
appNameStringapp名字
packageNameStringapp包名
packageSignStringapp包签名
appVersionCodeStringapp版本号
appVersionNameStringapp版本名

App安装列表获取

代码示例
 ListAppHelper.mobListApp(getApplicationContext())
复制代码
数据格式
[
    {
        "packageName":"com.huawei.android.tips",
        "versionName":"1.0",
        "versionCode":"1",
        "isSystem":"false"
    }
]
复制代码
数据键数据类型数据解释
packageNameStringapp包名
appVersionCodeStringapp版本号
appVersionNameStringapp版本名
isSystemString是否是系统app

音量数据获取

代码示例
 AudioHelper.mobGetMobAudio(getApplicationContext())
复制代码
数据格式
{
    "maxVoiceCall":"15",
    "currentVoiceCall":"3",
    "maxSystem":"15",
    "currentSystem":"0",
    "maxRing":"15",
    "currentRing":"0",
    "maxMusic":"15",
    "currentMusic":"0",
    "maxAlarm":"15",
    "currentAlarm":"0"
}
复制代码
数据键数据类型数据解释
maxVoiceCallString最大通话音量
currentVoiceCallString当前通话音量
maxSystemString最大系统音量
currentSystemString当前系统音量
maxRingString最大铃声音量
currentRingString当前铃声音量
maxMusicString最大音乐音量
currentMusicString当前音乐音量
maxAlarmString最大提示声音音量
currentAlarmString当前提示声音音量

版本数据获取

代码示例
 BandHelper.mobGetBandInfo()
复制代码
数据格式
{
    "baseBand":"21C30B323S006C000,21C30B323S006C000",
    "innerBand":"STF-AL00 8.0.0.360(C00GT)",
    "linuxBand":"$unknown"
}
复制代码
数据键数据类型数据解释
baseBandString基带版本
innerBandString内部版本
linuxBandStringlinux内核版本

电池数据获取

代码示例
BatteryHelper.mobGetBattery(getApplicationContext())
复制代码
数据格式
{
    "br":"74.0%",
    "status":"charging",
    "plugState":"usb",
    "health":"good",
    "present":"true",
    "technology":"Li-poly",
    "temperature":"33℃",
    "voltage":"4.068V",
    "power":"3100.0mAh"
}
复制代码
数据键数据类型数据解释
brString电量百分比
statusString电池状态
plugStateString电池充电状态
healthString电池健康状况
presentString是否有电池
technologyString电池的技术制造
temperatureString电池温度
voltageString电池电压
powerString电池总电量

Cpu实时数据获取

代码示例
CpuInternals.getInstance().getCpuSampler().start();
CpuInternals.getInstance().getCpuSampler().getCpuList();
CpuInternals.getInstance().getCpuSampler().stop();

复制代码

蓝牙数据获取

代码示例
BluetoothHelper.mobGetMobBluetooth(getApplicationContext())
复制代码
数据格式
{
    "bluetoothAddress":"$unknown",
    "isEnabled":"true",
    "device":[
        {
            "name":"iPhone",
            "address":"E4:9A:79:89:C7:24",
        }
    ],
    "phoneName":"Honor"
}
复制代码
数据键数据类型数据解释
bluetoothAddressString蓝牙地址
isEnabledString蓝牙是否打开
deviceJSONArray连接的手机的信息
nameString连接手机的蓝牙地址
addressString连接手机的蓝牙名字
phoneNameString手机设置的名字

系统Build数据获取

代码示例
BuildHelper.mobGetBuildInfo()
复制代码
数据格式
{
    "board":"STF",
    "bootloader":"unknown",
    "brand":"HONOR",
    "device":"HWSTF",
    "display":"STF-AL00 8.0.0.360(C00GT)",
    "fingerprint":"HONOR/STF-AL00/HWSTF:8.0.0/HUAWEISTF-AL00/360(C00GT):user/release-keys",
    "hardware":"hi3660",
    "host":"WUH1000129106",
    "id":"HUAWEISTF-AL00",
    "manufacturer":"HUAWEI",
    "model":"STF-AL00",
    "product":"STF-AL00",
    "radio":"21C30B323S006C000,21C30B323S006C000",
    "serial":"8BN0217901012695",
    "tags":"release-keys",
    "time":"1553851883000",
    "type":"user",
    "user":"test",
    "osVersion":"HONOR/STF-AL00/HWSTF:8.0.0/HUAWEISTF-AL00/358(C00GT):user/release-keys",
    "releaseVersion":"8.0.0",
    "codeName":"$unknown",
    "incremental":"360(C00GT)",
    "sdkInt":"26",
    "previewSdkInt":"0",
    "securityPatch":"2019-04-05"
}
复制代码
数据键数据类型数据解释
boardString主板名称
bootloaderString系统引导程序版本号
brandString系统定制商
deviceString设备参数
displayString显示屏参数
fingerprintString硬件名
hardwareString内核命令行中的硬件名
hostStringhost
idString标签
manufacturerString硬件厂商
modelString版本
productString手机厂商
radioString无线电固件的版本字符串
serialString获取硬件序列号
tagsString描述Build的标签
timeStringtime
typeStringtype
userStringuser
osVersionStringos版本
releaseVersionString版本
codeNameString当前开发代码名称
incrementalString基础源代码控件用于表示此构建的内部值
sdkIntStringSDK的版本
previewSdkIntStringSDK的预览版本
securityPatchString用户可见的安全补丁程序级别

摄像头数据获取

代码示例
CameraHelper.getCameraInfo(getApplicationContext())
复制代码
数据格式
{
    "cameraInfo":[
        {
            "cameraFacing":"back",
            "cameraLevel":"limited",
            "cameraFlashInfo":"true",
            "outputFormats":[
                "raw_sensor",
                "jpeg",
                "private",
                "yuv_420_888",
                "depth16"
            ]
        }
    ]
}
复制代码
数据键数据类型数据解释
cameraInfoJSONArray摄像头信息
cameraFacingString摄像头的位置
cameraLevelString摄像头支持水平
cameraFlashInfoString是否有闪光灯
outputFormatsJSONArray摄像头支持的格式

Cpu数据获取

代码示例
CpuHelper.mobGetCpuInfo()
复制代码
数据格式
{
    "cpuName":"0",
    "cpuFreq":"1844000KHZ",
    "cpuMaxFreq":"1844000KHZ",
    "cpuMinFreq":"533000KHZ",
    "cpuHardware":"hi3660",
    "cpuCores":"8",
    "cpuTemp":"36℃",
    "cpuAbi":"arm64-v8a,armeabi-v7a,armeabi"
}
复制代码
数据键数据类型数据解释
cpuNameStringCPU名字
cpuFreqStringCPU频率
cpuMaxFreqStringCPU最大频率
cpuMinFreqStringCPU最小频率
cpuHardwareStringCPU硬件名
cpuCoresStringCPU核数
cpuTempStringCPU温度
cpuAbiStringCPU架构

调试数据获取

代码示例
DebugHelper.getDebuggingData(getApplicationContext())
复制代码
数据格式
{
    "isOpenDebug":"true",
    "isDebugVersion":"true",
    "isDebugging":"false",
    "isReadProcStatus":"false",
    "isAllowMockLocation":"false"
}
复制代码
数据键数据类型数据解释
isOpenDebugString是否开启了调试模式
isDebugVersionString是否是Debug版本
isDebuggingString是否正在调试
isReadProcStatusString读取id判断是否在调试
isAllowMockLocationString是否打开位置模拟

host数据获取

代码示例
DnsHelper.mobDNS("ip")
复制代码

模拟器数据获取

代码示例
EmulatorHelper.mobCheckEmulator(getApplicationContext())
复制代码
数据格式
{
    "checkBuild":"false",
    "checkPkg":"false",
    "checkPipes":"false",
    "checkQEmuDriverFile":"false",
    "checkHasLightSensorManager":"false",
    "checkCpuInfo":"false"
}
复制代码
数据键数据类型数据解释
checkBuildStringbuild
checkPkgString包名修改
checkPipesString管道检测
checkQEmuDriverFileString驱动程序检测
checkHasLightSensorManagerString光传感器检测
checkCpuInfoStringcpu架构检测

hook数据获取

代码示例
HookHelper.isXposedHook(getApplicationContext())
复制代码
数据格式
{
    "isHaveXposed":"false",
    "isHaveSubstrate":"false",
    "isHaveFrida":"false"
}
复制代码
数据键数据类型数据解释
isHaveXposedString是否有Xposed
isHaveSubstrateString是否有Substrate
isHaveFridaString是否有Frida

本地数据获取

代码示例
LocalHelper.mobGetMobLocal()
复制代码
数据格式
{
    "country":"CN",
    "language":"zh"
}
复制代码
数据键数据类型数据解释
countryString当前国家
languageString当前语言

内存数据获取

代码示例
MemoryHelper.getMemoryInfo(getApplicationContext())
复制代码
数据格式
{
    "ramMemoryTotal":"3.90 GB",
    "ramMemoryAvailable":"1.56 GB",
    "romMemoryAvailable":"40.22 GB",
    "romMemoryTotal":"56.30 GB",
    "sdCardMemoryAvailable":"40.20 GB",
    "sdCardMemoryTotal":"56.28 GB"
}
复制代码
数据键数据类型数据解释
ramMemoryTotalStringRAM全部内存
ramMemoryAvailableStringRAM可用内存
romMemoryAvailableStringROM可用内存
romMemoryTotalStringROM全部内存
sdCardMemoryAvailableString内存卡可用内存
sdCardMemoryTotalString内存卡全部内存

多开数据获取

代码示例
MoreOpenHelper.checkVirtual(getApplicationContext())
复制代码
数据格式
{
    "checkByPrivateFilePath":"false",
    "checkByMultiApkPackageName":"false",
    "checkByHasSameUid":"false"
}
复制代码
数据键数据类型数据解释
checkByPrivateFilePathString检测私有路径
checkByMultiApkPackageNameStringmaps检测
checkByHasSameUidStringps检测

网络数据获取

代码示例
NetWorkHelper.mobGetMobNetWork(getApplicationContext())
复制代码
数据格式
{
    "type":"WIFI",
    "networkAvailable":"true",
    "haveIntent":"false",
    "isFlightMode":"false",
    "isNFCEnabled":"true",
    "isHotspotEnabled":"false",
    "hotspotSSID":"$unknown",
    "hotspotPwd":"$unknown",
    "encryptionType":"$unknown"
}
复制代码
数据键数据类型数据解释
typeString网络类型
networkAvailableString网络是否可用
haveIntentString是否开启数据流量
isFlightModeString是否是飞行模式
isNFCEnabledStringNFC功能是否开启
isHotspotEnabledString是否开启热点
hotspotSSIDString热点账号
hotspotPwdString热点密码
encryptionTypeString热点加密类型

root数据获取

代码示例
RootHelper.mobileRoot(getApplicationContext())
复制代码

屏幕数据获取

代码示例
ScreenHelper.mobGetMobScreen(getApplicationContext())
复制代码
数据格式
{
    "densityScale":"3.0",
    "densityDpi":"480",
    "width":"1080",
    "height":"1920",
    "isScreenAuto":"false",
    "isScreenAutoChange":"false",
    "screenBrightness":"114"
}
复制代码
数据键数据类型数据解释
densityScaleString当前屏幕密度与标准屏幕密度的比值
densityDpiString屏幕密度
widthString屏幕宽度
heightString屏幕高度
isScreenAutoString亮度是否为自动调节
isScreenAutoChangeString屏幕亮度
screenBrightnessString屏幕是否开启自动旋转

SDCard数据获取

代码示例
SDCardHelper.mobGetSdCard()
复制代码
数据格式
{
    "isSDCardEnable":"true",
    "sDCardPath":"/storage/emulated/0"
}
复制代码
数据键数据类型数据解释
isSDCardEnableStringSDCard是否可用
getSDCardPathStringSDCard的路径

设置数据获取

代码示例
SettingsHelper.mobGetMobSettings(getApplicationContext())
复制代码
数据格式
{
    "androidId":"f573c0f6ca5178a2"
}
复制代码
数据键数据类型数据解释
androidIdStringandroidId

信号数据获取

代码示例
SignalHelper.mobGetNetRssi(getApplicationContext())
复制代码
数据格式
{
    "type":"WIFI",
    "bssid":"82:2a:a8:1b:58:de",
    "ssid":"GPNL",
    "ipAddress":"192.168.1.73",
    "ipAddressIpv6":"$unknown",
    "macAddress":"D8:C7:71:E4:48:B9",
    "networkId":"93",
    "linkSpeed":"86Mbps",
    "rssi":"-53",
    "level":"4",
    "supplicantState":"COMPLETED",
    "proxy":"false",
    "proxyAddress":"$unknown",
    "proxyPort":"$unknown"
}
复制代码
数据键数据类型数据解释
typeString网络类型
bssidStringbssid
ssidStringssid
ipAddressStringipv4
ipAddressIpv6Stringipv6
macAddressStringmac地址
networkIdString网络id
linkSpeedString网络速度
rssiString信号强度
levelString信号等级
supplicantStateString连接状态
proxyString是否开启代理
proxyAddressString代理地址
proxyPortString代理端口号

手机卡数据获取

代码示例
SimCardHelper.mobileSimInfo(getApplicationContext())
复制代码
数据格式
{
    "sim1Imei":"$unknown",
    "sim2Imei":"866957032955878",
    "sim1Imsi":"460037121038284",
    "sim2Imsi":"$unknown",
    "simSlotIndex":"0",
    "meid":"A000007ADE42E2",
    "sim1ImsiOperator":"CT",
    "sim2ImsiOperator":"$unknown",
    "sim1Ready":"true",
    "sim2Ready":"false",
    "isTwoCard":"false",
    "isHaveCard":"true",
    "operator":"CT"
}
复制代码
数据键数据类型数据解释
sim1ImeiString卡1IMEI
sim2ImeiString卡2IMEI
sim1ImsiString卡1IMSI
sim2ImsiString卡2IMSI
simSlotIndexString有流量的卡的卡槽id
meidStringMEID
sim1ImsiOperatorString卡1运营商
sim2ImsiOperatorString卡2运营商
sim1ReadyString卡1是否激活
sim2ReadyString卡2是否激活
isTwoCardString是否有两张卡
isHaveCardString是否有卡
operatorString流量卡运营商

堆栈数据获取

代码示例
StackSampler.getStackInfo(Thread.currentThread())
复制代码

唯一ID数据获取

代码示例
PhoneIdHelper.getPsuedoUniqueID()
复制代码

UA数据获取

代码示例
UserAgentHelper.getDefaultUserAgent(getApplicationContext())
复制代码

Xposed数据获取

代码示例
XposedHookHelper.checkXposedInjet(getApplicationContext())
复制代码
数据格式
{
    "xposedApp":"false",
    "xposedImei":"false",
    "xposedImsi":"false",
    "xposedSerial":"false",
    "xposedSsid":"false",
    "xposedMac":"false",
    "xposedAddress":"false",
    "xposedAndroidId":"false",
    "xposedLatitude":"false",
    "xposedLongitude":"false"
}
复制代码
数据键数据类型数据解释
xposedAppString是否hook了本APP
xposedImeiString是否hook了IMEI
xposedImsiString是否hook了IMSI
xposedSerialString是否hook了序列号
xposedSsidString是否hook了SSID
xposedMacString是否hook了MAC地址
xposedAddressString是否hook了蓝牙地址
xposedAndroidIdString是否hook了AndroidId
xposedLatitudeString否hook了纬度
xposedLongitudeString是否hook了经度

转载于:https://juejin.im/post/5cff46b05188254e196b85f8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值