虽然Google宣称从2.3.4以及3.1版本以后开始支持ADK开发,但是现在真正支持ADK开发并不是很多。可以确定的是google亲儿子在使用官方系统包的时候支持ADK开发,比如我手上的Nexus S。市场上那些通过刷机升级到2.3.4以上版本的手机,很多因为底层内核不支持USB Accessory功能,所以无法做ADK开发。比如我手上的V880手机,中兴将USB功能彻底改写了,也没有f_accessory.c这个文件。
下面介绍一下如何查看自己的手机是否支持ADK功能:
原理就是检查手机内核是否包含USB Accessory功能
第一种方法,提取当前手机的内核config文件,查看是否包含USB Accessory功能
使用命令:adb pull /proc/config.gz /home/user_name/androkern/cm-kernel/config.gz
然后从config.gz文件中解压出.config文件
第二种方法,从系统刷机包中的boot.img中提取.config
使用命令:scripts/extract-ikconfig boot.img > .config
通过查看.config文件来确定有无USB Accessory功能,搜索"CONFIG_USB_ANDROID_ACCESSORY",如果搜索不到或者搜索出来的结果是"CONFIG_USB_ANDROID_ACCESSORY is not set"。
时间: 2024-10-12 09:23:54