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

MobileInfo

依赖

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

数据信息

App信息获取

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

App安装列表获取

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

音量数据获取

代码示例
 AudioHelper.mobGetMobAudio(getApplicationContext())
数据格式
{
    "maxVoiceCall":"15",
    "currentVoiceCall":"3",
    "maxSystem":"15",
    "currentSystem":"0",
    "maxRing":"15",
    "currentRing":"0",
    "maxMusic":"15",
    "currentMusic":"0",
    "maxAlarm":"15",
    "currentAlarm":"0"
}
数据键 数据类型 数据解释
maxVoiceCall String 最大通话音量
currentVoiceCall String 当前通话音量
maxSystem String 最大系统音量
currentSystem String 当前系统音量
maxRing String 最大铃声音量
currentRing String 当前铃声音量
maxMusic String 最大音乐音量
currentMusic String 当前音乐音量
maxAlarm String 最大提示声音音量
currentAlarm String 当前提示声音音量

版本数据获取

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

电池数据获取

代码示例
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"
}
数据键 数据类型 数据解释
br String 电量百分比
status String 电池状态
plugState String 电池充电状态
health String 电池健康状况
present String 是否有电池
technology String 电池的技术制造
temperature String 电池温度
voltage String 电池电压
power String 电池总电量

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"
}
数据键 数据类型 数据解释
bluetoothAddress String 蓝牙地址
isEnabled String 蓝牙是否打开
device JSONArray 连接的手机的信息
name String 连接手机的蓝牙地址
address String 连接手机的蓝牙名字
phoneName String 手机设置的名字

系统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"
}
数据键 数据类型 数据解释
board String 主板名称
bootloader String 系统引导程序版本号
brand String 系统定制商
device String 设备参数
display String 显示屏参数
fingerprint String 硬件名
hardware String 内核命令行中的硬件名
host String host
id String 标签
manufacturer String 硬件厂商
model String 版本
product String 手机厂商
radio String 无线电固件的版本字符串
serial String 获取硬件序列号
tags String 描述Build的标签
time String time
type String type
user String user
osVersion String os版本
releaseVersion String 版本
codeName String 当前开发代码名称
incremental String 基础源代码控件用于表示此构建的内部值
sdkInt String SDK的版本
previewSdkInt String SDK的预览版本
securityPatch String 用户可见的安全补丁程序级别

摄像头数据获取

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

Cpu数据获取

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

调试数据获取

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

host数据获取

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

模拟器数据获取

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

hook数据获取

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

本地数据获取

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

内存数据获取

代码示例
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"
}
数据键 数据类型 数据解释
ramMemoryTotal String RAM全部内存
ramMemoryAvailable String RAM可用内存
romMemoryAvailable String ROM可用内存
romMemoryTotal String ROM全部内存
sdCardMemoryAvailable String 内存卡可用内存
sdCardMemoryTotal String 内存卡全部内存

多开数据获取

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

网络数据获取

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

root数据获取

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

屏幕数据获取

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

SDCard数据获取

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

设置数据获取

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

信号数据获取

代码示例
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"
}
数据键 数据类型 数据解释
type String 网络类型
bssid String bssid
ssid String ssid
ipAddress String ipv4
ipAddressIpv6 String ipv6
macAddress String mac地址
networkId String 网络id
linkSpeed String 网络速度
rssi String 信号强度
level String 信号等级
supplicantState String 连接状态
proxy String 是否开启代理
proxyAddress String 代理地址
proxyPort String 代理端口号

手机卡数据获取

代码示例
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"
}
数据键 数据类型 数据解释
sim1Imei String 卡1IMEI
sim2Imei String 卡2IMEI
sim1Imsi String 卡1IMSI
sim2Imsi String 卡2IMSI
simSlotIndex String 有流量的卡的卡槽id
meid String MEID
sim1ImsiOperator String 卡1运营商
sim2ImsiOperator String 卡2运营商
sim1Ready String 卡1是否激活
sim2Ready String 卡2是否激活
isTwoCard String 是否有两张卡
isHaveCard String 是否有卡
operator String 流量卡运营商

堆栈数据获取

代码示例
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"
}
数据键 数据类型 数据解释
xposedApp String 是否hook了本APP
xposedImei String 是否hook了IMEI
xposedImsi String 是否hook了IMSI
xposedSerial String 是否hook了序列号
xposedSsid String 是否hook了SSID
xposedMac String 是否hook了MAC地址
xposedAddress String 是否hook了蓝牙地址
xposedAndroidId String 是否hook了AndroidId
xposedLatitude String 否hook了纬度
xposedLongitude String 是否hook了经度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容