您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

Android设备连接豌豆荚等显示的设备名

作者:佚名    责任编辑:admin    更新时间:2022-06-22

  最近打算用JZ4770方案来做我们自己的产品。君正给的代码,是基于给艾诺定制的。每次用豌豆荚,或者QQ电脑管家连接设备的时候,总是显示“艾诺 Novo7 Basic”。很明显要改为我们自己的产品型号。目前只是用作开发板,后期要设计自己的板子。

  本来以为这个字符串“Novo7 Basic”是通过“设置>关于平板电脑>型号”获取的,但是通过修改xx.mk(xx代表板子类型)中的PRODUCT_MODEL := SmartQ7Candy之后,在

  型号中看到的是SmartQ7Candy,但是通过USB连接电脑,仍然显示“艾诺 Novo7 Basic"。

  既然是通过USB识别的,用adb devices看了一下,果然显示"Novo7 Basic"。

  问了下老大,说这个值是通过读取/sys/class/android_usb/android0/iSerial得到的。在内核代码中搜索"android_usb",找到代码

  drivers/usb/gadget/android.c

  这里创建了一个android_usb的类,然后创建了一个类设备android0,

  对于iSerial属性

  DESCRIPTOR_STRING_ATTR(iSerial, serial_string)

  strncpy(serial_string, CONFIG_USB_SERIAL_NUM, sizeof(serial_string) - 1);

  很明显,该值是通过CONFIG_USB_SERIAL_NUM拷贝得来的。

  于是修改内核的.config,将CONFIG_USB_SERIAL_NUM="Nono7 Basic" --> CONFIG_USB_SERIAL_NUM="SmartQ Candy"

  编译内核,烧录之后。发现QQ电脑管家识别为OPhone,我估计是因为“SmartQ Candy”不在它的设备列表里面,毕竟自己定义的,它肯定不知道的。对于不能识别的,就统一识别是OPhone.

  用豌豆荚,可以识别为SmartQ Candy。