萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> Android設備連接豌豆莢等顯示的設備名

Android設備連接豌豆莢等顯示的設備名

  最近打算用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。

copyright © 萬盛學電腦網 all rights reserved