Answers:
您可以通过进行此操作adb
。据我所知,不需要root(在运行从AOSP源构建的4.2.1的Galaxy Nexus上进行了测试):
shell@android:/ $ content query --uri content://settings/secure --projection value --where "name='android_id'"
settings/secure --projection value --where "name='android_id'"
Row: 0 value=<your ID in hexadecimal>
shell@android:/ $
settings get secure android_id
adb shell
我发现from 是最简单的-没有多余的输出,不需要root。(从设备上的常规终端,需要root。)
shell@mydevice:/ $ settings get secure android_id
0123456789abcdef
shell@mydevice:/ $
android_sdk/platform-tools/
使用cmd或其他终端进入。2. adb devices
检查您的手机是否可以通过USB找到。3 adb shell
。4.在此答案中运行命令。
由于eldarerathis变体不适用于我,并且我不想为此安装应用程序,因此我找到了另一种方法。唯一可能的缺点:它需要root。
adb shell
$ su
# cd /data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sql> select * from secure where name='android_id';
26|android_id|1234567890abcdef1
的android_id
是,在第三列这里(在示例匿名)找到。
编辑:
请注意,这不是android_id
Google应用所使用的。Google似乎已经决定在这里造成一些混乱。对于Play服务,GTalk有一个单独的android_id
存储区,如博客文章所指出的(另请参见StripSearch的作者HassleFixes的回答,并庆幸地在评论中指出了这一点):
*#*#8255#*#*
android-
android_id
使用谷歌服务我已验证:在android_id
检索到这样的工作,没有谷歌,应用程序的设备上安装的罚款(用于与BlankStore提供由NOGAPPS项目)。
以上回答有$ content query --uri content://settings/secure --projection value --where "name='android_id'"
它
如果您要从Shell执行此操作,则需要转义android_id周围的引号,否则它们将被解释,并且SQL语句中没有引号,从而导致未知列。
我从bash发出的完整命令看起来很不错...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"
^没有足够的声誉来评论上面建议的答案
adb shell
,然后在该外壳中运行另一个命令。在不转义引号的情况下,此方法工作正常。您的答案是在主机上运行单个命令。为此,您确实需要转义报价。