Google Service Framework简称GSF,每个安装了Google Play服务的手机都会有这么一个GSF ID。
相信大部分人直接想要看解决方案,那我就先写了:
解决方案
通过我自己写的这个App:app-release.apk,或者你自己去Play商店下一个Device ID,来获取你的设备的GSF ID。
然后到这个界面-->设备注册(记得挂梯子),输入你在手机上获取到的Google Service Framework(GSF),点击注册即可:
然后在设置里面,清除Play商店的数据,重新进入Play商店就可以看到变成已注册的了,要是还是没变,就等一会,这个东西取决于网络。
分析
今天我想在Play商店下载奈飞(Netflix)玩一下,结果发现根本就搜不到,我的手机是小米6,刷了机,在脸谱(Magisk)里面也对Play商店和Play服务设置了Magisk Hide,但依然无法搜索到,然后我想起来了这种类型的软件好像都需要Play保护机制通过认证才可以,然而我的小米6并冒得:
我看了一下我的另一部三星A5 Pro,设备是已认证的状态:
确实,我这部三星确实没有刷机,那么就说明,很大概率这个认证是和是否刷了机,是否是原版固件有那么点关系(虽然我身边有的人手机一出厂就是未认证),会不会是因为没交保护费的缘故。
然而在谷歌那里有一个页面是可以自行注册设备GSF的-->设备注册,在这个页面,谷歌写的获取gsf的方法是直接通过root权限去查数据库:
$ adb root
$ adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"'
然而这种方法有点不方便,我自己之前也试过,结果根本行不通:
尝试第一条命令的时候,提示:adbd cannot run as root in production builds
,我也试了网上的adbd Insecure软件,也是行不通,查了一下百度,好像安卓6.0以后这种方法就失效了,而且现在大部分人获取root权限的方式都是通过magisk,magisk获取root权限是systemless的方案去解决,也就是不修改/system分区,用一段逻辑假装把一些文件加载到系统里,然而这种方法,也不能通过adb root指令来获取权限了
或者是因为系统的缘故,我后来查了资料,必须编译系统的时候在build.prop中
ro.secure=0
才可以正常使用adb root
指令,原文:“adb root
needs a development (aka debug) build withro.debuggable=1
”
于是我就自己写了一个App,用来获取设备的GSF ID,或者你直接去Play商店下载一个其他人写的也阔以,然后将GSF ID注册到-->设备注册这里,回到手机,清除Play商店所有数据,等待一会,设备就变成已认证的状态了,可以下奈飞啥的玩玩了哈哈哈哈。
投影仪板子的ID注册之后没作用啊
清清 2023-01-30
应该是必须得已经通过谷歌认证的设备,才能注册成功吧
麻婆豆腐 2023-01-30 回复 @清清
您好,我想请问下 我获取了GSF ID,然后去设备注册页那里,提交时提示我已注册Android ID,然后Android不是我自己id,这是什么问题呢,是被之前有人绑定过 还是我机子不是全新的,恳求大神指点谢谢!
李 2020-09-05
没太懂啥意思,是不是网络问题?
伊利 2020-09-05 回复 @李
我也遇到同样的问题;获取GSF后,在注册页输入提示该GSF已注册,然后下面有一行提示已注册的Android IDs是一串19位数字。我从DEVICE ID上查了一下,这串数字与DEVICE ID查出来的第一行数字不一样。
豆腐干 2021-02-19 回复 @伊利
要不直接清除数据,试一下有没有注册成功?我也没遇到这种问题
麻婆豆腐 2021-03-01 回复 @豆腐干