Which android devices support the ADK / open accessory
Is there a list anywhere of which Android devices (phones, tablets) support the ADK / accessory mode? From what I have read, I known that the 开发者_如何转开发Nexus One, Nexus S and Xoom do support it. Are there any other devices (custom ROMs included) that also support it? I have an ADK and can't get it working with my phone, I am basically looking for the cheapest phone that I can use with ADK.
** UPDATE ** I found this list of tablets that work with the ADK
The offical Android 2.3.4 is based on the kernel 2.6.35, ADK need kernel 2.6.35. Some Android 2.3.4+ do not support adk because the kernel is not 2.6.35+. I used to copy the adk need jar into my milestone (Android 2.3.5, kernel 2.6.32, cm7), and install the DemoKit.apk but it doesn't work. The phone I know ADK works: Nexus One, Nexus S, HTC Desire(need to do something to make it work) I think if the phone have kernel 2.6.35+ and android 2.3.4+ it will support ADK too, but I can't find a 2.6.35+ kernel for my Milestone.
When I was digging around in the CyanogenMod 7.1 kernel sources for my Galaxy S2 I found that the USB accessory driver missing from kernel 2.6.35.7 (I think the kernel .config flag is CONFIG_USB_ANDROID_ACCESSORY).
From what I've found by a lot of searching and forum digging was that the accessory driver was implemented in Honeycomb (3.x) but backported to Gingerbread (2.3), and should be available from kernel 2.6.35.15. I made a few unsuccessful attempts to compile my own kernel, with the plan to cherry pick the driver but for some reason I was not able to make the phone boot with my custom kernel.
I am now running an early experimental CyanogenMod 9 ICS (4.0.3) build on my SGS2 and it is possible to have the phone talk with my Arduino board. I made the phone able to toggle an LED on the board so I guess it is time to start working on my plans for world domination.
In theory, any device running Android 2.3.4+ or 3.1+ should be compatible with the ADK (as long as they have a USB port). I don't think any manufacturers remove the ADK from their builds (I don't see why they would), but it's not impossible either.
So, you either update your phone to 2.3.4 (if it's possible), buy a phone that runs 2.3.4+ (the minor version is important -- 2.3.3 does not have the ADK) or buy a tablet that runs 3.1+.
If you're going to buy a phone, I recommend a Google-branded phone, such as the Nexus S.
Known good: Nexus S (not 4G) running ICS 4.0.4.
ICS 4.0.3 is known not to work. Don't know anything about 2.3.x.
精彩评论