You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:在QPython中获取Android设备唯一ID的Python脚本

在Android(兼容QPython)获取设备唯一标识的Python方案

方法一:使用QPython内置androidhelper模块(推荐)

QPython自带androidhelper模块,无需额外依赖,能直接获取Android ID(系统级唯一标识,恢复出厂设置后会变更),代码简单且无需root:

from androidhelper import Android

droid = Android()
android_id = droid.getAndroidId().result
print(f"Android ID: {android_id}")

方法二:通过subprocess读取系统硬件信息

如果需要CPU Serial、Hardware ID等标识,可以读取Android的/proc文件系统,这是Android系统暴露硬件信息的标准路径,无需root权限:

获取CPU Serial(部分设备支持)

import subprocess

def get_cpu_serial():
    try:
        output = subprocess.check_output(["cat", "/proc/cpuinfo"], encoding="utf-8")
        for line in output.splitlines():
            if line.startswith("Serial"):
                return line.split(":")[1].strip()
        return "未找到CPU Serial字段"
    except Exception as e:
        return f"获取失败: {str(e)}"

print(f"CPU Serial: {get_cpu_serial()}")

获取Hardware ID

def get_hardware_id():
    try:
        output = subprocess.check_output(["cat", "/proc/cpuinfo"], encoding="utf-8")
        for line in output.splitlines():
            if line.startswith("Hardware"):
                return line.split(":")[1].strip()
        return "未找到Hardware ID字段"
    except Exception as e:
        return f"获取失败: {str(e)}"

print(f"Hardware ID: {get_hardware_id()}")

注意:部分设备的/proc/cpuinfo可能没有Serial字段,这由硬件厂商决定,属于正常情况。

方法三:获取IMEI(仅真机有效,需权限)

如果是真机且需要电话权限,可以获取IMEI(国际移动设备识别码),模拟器通常不支持:

from androidhelper import Android

droid = Android()
# 先申请读取设备状态权限
droid.requestPermission("android.permission.READ_PHONE_STATE")
imei = droid.getDeviceId().result
print(f"IMEI: {imei if imei else '模拟器无IMEI或未授权'}")

内容的提问来源于stack exchange,提问作者Troy9090

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 11:10:40