如何更改设备名称?(adb devices)

31

我想改变设备ID字符串,这个字符串可以在命令提示符中输入'adb devices'时看到。 如果我在命令提示符中输入'adb devices',则会看到以下消息:

D:\>adb devices
List of devices attached
5A3C000600000001        device

有没有人知道设备ID字符串(5A3C000600000001)是如何生成的?我该如何更改设备ID字符串?


你想要更改模拟器名称还是连接到计算机的设备? - Triode
请返回已翻译的文本。 - Jared Burrows
https://dev59.com/DWzXa4cB1Zd3GeqPPhBV#13871602 - fadden
6个回答

22

如果您拥有root访问权限,可以在终端模拟器中输入以下内容:

> su (to gain superuser access)
> getprop net.hostname (this should display the current network name)
> setprop net.hostname <newhostname>

断开网络连接然后重新连接以进行刷新。

我使用的是安装有ICS系统的三星Galaxy Note。这个方法非常有效...


8
“net.hostname”属性不会被“adb”查询,因此我不认为它会对“adb设备”产生任何影响。这个和之前评论中的链接都与设备在DHCP主机列表中出现的方式有关(例如:“android-123456789”),而与问题无关。 - fadden
6
这回答了错误的问题,但对我非常有帮助! - palswim
1
我也是。我确实在寻找一种更改DHCP主机名的方法。 - Michele Dall'Agata
显然这样行不通,需要更改USB名称。 - DAme

6

您可以设置persist.usb.serialno属性。我在Galaxy S4 / S4 mini上进行了检查,它是持久的,但需要root访问:

adb shell
su
setprop persist.usb.serialno Phone1_GalaxyS4
exit
adb reboot

adb devices中,您将看到:
C:\Users\amdc2452>adb devices
List of devices attached
Phone1_GalaxyS4    device

4
我有几个相同的开发系统(Odroid A),它们报告相同的设备代码,这导致我无法在同一台PC上使用多个adb。不幸的是,在这个平台上,似乎没有办法像之前建议的那样从gingerbread GUI更改此设置。
设备序列号(由'adb devices'报告)似乎设置在内核中,在arch/arm/plat-s5p/devs.c下(查找“device_serial”)。对于您的设备可能会有所不同,建议通过内核源代码进行grep以查找由adb devices报告的设备ID。更改字符串,重新构建内核并刷入...
顺便说一句,在ICS上看起来会有所不同...

2
之前的回答并没有解决我的问题,尽管这个问题与我的情况直接相关。我本来希望我找到的信息能对其他人有用,因为它直接回答了原始问题。我不认为我提出了一个新问题... - Mark Edgeworth
你是对的。我觉得我阅读得太快了……是我的错。抱歉。 - SDwarfs

4
在Android中,前往“设置”>“应用程序”>“开发”,然后点击“设备主机名”。您可以更改名称,连接到adb时会显示出来。
另一个解决方案可以在此处找到:http://forum.xda-developers.com/showthread.php?t=1462320。您需要获得root访问权限并安装终端客户端,进行一些低级别的黑客攻击以进行修复。
另一个选择是使用http://www.thriveforums.org/forum/toshiba-thrive-networking/3157-how-do-i-change-device-name.html中提到的Hosts应用程序,尽管我无法找到他所指的应用程序。
我认为最好的选择就是在您的设备上安装Cyanogenmod。它是最稳定的自定义Android ROM,并且具有许多有用的其他功能,这些功能不在原生Android中。

是的,这是完全可能的。我正在我的HTC Desire上使用Cyanogenmod 7。我会研究一种在所有设备上实现这个的方法。 - Michael Allen
1
谢谢您的回答,但我在开发页面找不到主机名。 - user1280781
4
我已更改设备主机名设置,但终端中的“adb devices”没有输出该名称。 - lindhe

2

0
除了其他指导重命名设备序列号的答案之外,你还可以使用它的transport_id进行访问。
使用adb devices -l列出设备和它们的transport_id,然后使用adb -t ID来访问设备。
adb devices -l

# first_huge_device_id0000 device product:p124 model:md1 device:d1 transport_id:1
# second_huge_device_id0000 device product:pr123 model:md2 device:d2 transport_id:2

adb -t 1 ...
# uses first device

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接