adb 修改设备的serial号码

本文介绍了解决Android设备通过USB连接到电脑时出现的ADB设备串号冲突问题的方法。通过修改设备的iSerial值并重启ADB服务,实现了对多台相同型号手机的同时调试。

在公司调试多台手机,因为要做对比,因此通过usb同时连接了两台手机在电脑上。突然发现用adb devices命令查看时,这两个手机的serial号码完全一样。因为这是公司的同一款机器。。。。这就没法同时连接了。

apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb devices
List of devices attached 
19761202 device
19761202 device

必须要修改下这个号码才可以区别。。。。

凭经验在编译生成的rootfs搜索了一下“19761202”

apuser@YaochuanLiubt:~/mywork/4.1-3.4/out/target/product/xxxxxxx/root$ grep -nr "19761202" --color .
./init.xxxxxxx.usb.rc:4:    write /sys/class/android_usb/android0/iSerial 19761202

原来是这样的。。。。

那只接去修改sys文件就好了么。。。

先连上一台机器,adb root进去。。。

root@android:/sys/class/android_usb/android0 # cat iSerial
19761202

root@android:/sys/class/android_usb/android0 # 
root@android:/sys/class/android_usb/android0 # echo 19761203 > iSerial
root@android:/sys/class/android_usb/android0 # cat iSerial                     
19761203

root@android:/sys/class/android_usb/android0 #

修改成功! 

现在把两台机器都连上,然后adb devices一下!

apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb devices
List of devices attached 
19761202 device
19761202 device

我靠咋没变???

三秒钟后。。。

经验告诉我。。。这个应该和adb的主机端服务有关。。。先kill了再说!

apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb kill-server
apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
19761202 device
19761203 device

哦耶!搞定!

下来就可以用adb的-s参数同时连接这些机器了。

apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb -s 19761202 root
restarting adbd as root
apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb -s 19761202 shell
root@android:/ # 

在另一个终端中:

apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb -s 19761203 root
restarting adbd as root
apuser@YaochuanLiubt:~/mywork/4.1-3.4/kernel/arch/arm/configs$ adb -s 19761203 shell
root@android:/ # 



<think>好的,我现在需要帮助用户找到如何通过ADB为调试设备改名的方法或命令。首先,我得回忆一下ADB相关的知识,可能涉及设备管理相关的命令。用户之前提到了引用[2]中关于指定目标设备的参数,比如-s参数指定设备序列号,但改名可能需要更具体的命令。 首先,ADB允许与设备进行交互,修改设备名称通常涉及到系统属性。我记得设备名称可能存储在某个系统属性里,比如ro.product.model或者类似。不过,用户想要的是更改调试时显示的名称,比如在adb devices中显示的名字。 接下来,我需要确认是否有直接的ADB命令可以修改设备名称。通常,设备名称可能由几个属性决定,比如persist.sys.device_name或者类似。如果是这样,用户可能需要通过adb shell使用setprop命令来修改这个属性,并且可能需要root权限,因为修改系统属性可能需要更高的权限。 例如,命令可能是: adb shell setprop persist.sys.device_name "NewName" 然后重启设备或者adb服务,使更改生效。不过,这取决于设备制造商是否允许这个属性被修改,以及是否持久化保存。如果persist.开头的属性,应该会在重启后保留。 另外,有些设备可能需要使用settings put system device_name这样的命令,但不确定是否适用于所有设备。比如: adb shell settings put system device_name "NewName" 还需要考虑是否有其他方法,比如通过修改蓝牙名称或者Wi-Fi名称,但这些可能不是用户想要的调试设备名称。用户的问题明确提到的是调试设备名称,即在adb devices中显示的名称,这个名称通常由设备的ro.product.model或其他只读属性决定,可能需要更深入的修改,比如修改build.prop文件,但这通常需要root权限。 根据引用[2],如果有多个设备连接,需要使用-s参数指定设备,所以在命令中可能需要包含这个参数,例如: adb -s <serial-number> shell setprop persist.sys.device_name "NewName" 但需要验证这些步骤是否正确,以及是否需要root。如果用户设备没有root权限,可能无法修改系统属性。因此,在回答中需要说明这一点,并提供可能的解决方案,如需要root或者使用其他方法。 总结可能的步骤: 1. 使用adb shell进入设备。 2. 尝试修改persist.sys.device_name属性。 3. 重启设备adb服务。 4. 验证新名称是否生效。 同时,需要提醒用户不同设备可能有所不同,部分设备可能无法通过此方法改名,或者需要特定条件。</think>要通过ADB为调试设备修改名称,可按照以下步骤操作: ### 一、操作原理 Android设备的调试名称由系统属性$ro.product.model$决定,但部分厂商设备支持通过修改$persist.sys.device_name$属性实现名称自定义[^2]。注意该操作需要满足以下条件: 1. 设备已开启USB调试 2. 建议连接单一设备(或使用`-s <serial-number>`指定目标设备) 3. 可能需要Root权限(取决于设备厂商限制) ### 二、具体操作步骤 ```bash # 1. 连接设备后查询当前名称 adb devices -l # 2. 进入设备shell环境 adb shell # 3. 修改设备名称属性(需Root权限) su setprop persist.sys.device_name "NEW_NAME" # 4. 验证属性修改结果 getprop persist.sys.device_name # 5. 强制重启adbd服务(使修改生效) stop adbd && start adbd ``` ### 三、效果验证 重新执行`adb devices`命令,设备标识符的第二列将显示新名称: ``` List of devices attached ABCDEFGHIJKLM device product:NEW_NAME model:NEW_NAME device:generic_x86 ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YasinLeeX

再来一杯西湖龙井。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值