应客户要求,要将手机MTP模式下和PTP模式下windows电脑任务栏提示语"弹出Android","弹出MTP"修改成定制的字符
1.修改”弹出MTP“
起初没有头绪,后来在高通createpoint网站上找到了一个修改PTP模式图标的case,参考之后最后猜测所需修改的字符串应该在
kernel/driver/usb/gadget/f_mtp.c 文件中
static struct usb_string mtp_string_defs[] = {
/* Naming interface "MTP" so libmtp will recognize us */
[INTERFACE_STRING_INDEX].s= "MTP",
{ }, /* end of list */
};
修改上文中红色标记的MTP字符为我们想要的字符MTP_K,则手机连接windows电脑,MTP模式下,”弹出MTP“将变为”弹出MTP_K“
请注意上文中绿色部分注释,“MTP”和libmtp有关联,所以这样修改是否有其他的后果目前不知道。但我简单测试了一下,MTP的基本
功能没有什么问题。
2.修改“弹出Android”
kernel/driver/usb/gadget/android.c 文件中
/* Default strings - should be updated by userspace */
strlcpy(manufacturer_string, "Android",
sizeof(manufacturer_string) - 1);
strlcpy(product_string, "Android", sizeof(product_string) - 1);
strlcpy(serial_string, "0123456789ABCDEF", sizeof(serial_string) - 1);
修改上文中红色标记的"Android",为目标字符串"Android_K",则PTP模式和充电模式下,”弹出Android“将变为“弹出Android_K”
根据上文中绿色部分注释,修改此处字符串应该没有问题的。
查看同事的一加3t手机,MTP模式下显示为“弹出MTP”,而PTP模式和充电模式显示为“弹出Oneplus”