首页
社区
课程
招聘
Android C++如何获取ANDROID_ID
发表于: 2023-2-5 17:40 6328

Android C++如何获取ANDROID_ID

2023-2-5 17:40
6328

可以通过adb获取ANDROID_ID
adb shell settings get secure android_id
根据根据网上的代码,封装了个执行命令并获取返回值的函数,但是执行settings get secure android_id不能获取到返回值,但是可以执行其他命令,比如获取网卡MAC cat /sys/class/net/wlan0/address

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
string MySystem(string cmd)
{
    FILE* fstream = NULL;
    char buff[1024];
    memset(buff, 0, sizeof(buff));
    string ret="";
 
    if (NULL == (fstream = popen(cmd.c_str(), "r")))
    {
        fprintf(stderr, "execute command failed: %s", strerror(errno));
        return "-2";
    }
 
    while (NULL != fgets(buff, sizeof(buff), fstream))
    {
        ret.append(buff).append("\n");
    }
    pclose(fstream);
    if (ret.length()==0)
    {
        return "-1";
    }
    return ret;
}

请教是否有其他获取ANDROID_ID的方法,或者我这种获取方式如何处理能正常获取到ANDROID_ID


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 4320
活跃值: (3820)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你这段C++代码执行在你自己进程,权限跟shell是不一样的。
C++ jni反射调用这个java代码获得试试:String ANDROID_ID = Settings.System.getString(getContentResolver(),Settings.System.ANDROID_ID);
2023-2-5 19:56
0
雪    币: 1744
活跃值: (3449)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
可以问chagpt
2023-2-10 00:45
0
雪    币: 4939
活跃值: (2360)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
kzzll 可以问chagpt
最近想去玩玩这个的,被限制了登陆不了
2023-2-10 14:31
0
雪    币: 235
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
String ANDROID_ID = Settings.System.getString(context.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID /* android_id */);
2023-2-13 15:46
0
游客
登录 | 注册 方可回帖
返回
//