Android ADK1.0设备无法与Jelly Bean一起工作,为什么?
刚刚将久经考验的ADK附件连接到Nexus 7和Galaxy Nexus,但未能连接到“无法读取设备协议版本”消息。认为董事会死了,连接到Nexus S和ICS——工作正常。在Jelly Bean升级之前也在Galaxy Nexus上工作过,所以可以排除硬件故障 我一直在密切关注ADK的公告,但我不记得读过或听到过关于这一特殊变化的任何消息,也不记得支持ADK 2.0的Android设备的向后兼容性 指南说“协议版本1由安卓2.3.4(API级别10)和更高版本支持。协议版本2由安卓4.1(API级别16)和更高版本支持”。它并没有说版本1不受4.1支持,并且发现现有硬件会像这样被抛弃是非常奇怪的Android ADK1.0设备无法与Jelly Bean一起工作,为什么?,android,arduino,android-4.0-ice-cream-sandwich,adk,android-4.2-jelly-bean,Android,Arduino,Android 4.0 Ice Cream Sandwich,Adk,Android 4.2 Jelly Bean,刚刚将久经考验的ADK附件连接到Nexus 7和Galaxy Nexus,但未能连接到“无法读取设备协议版本”消息。认为董事会死了,连接到Nexus S和ICS——工作正常。在Jelly Bean升级之前也在Galaxy Nexus上工作过,所以可以排除硬件故障 我一直在密切关注ADK的公告,但我不记得读过或听到过关于这一特殊变化的任何消息,也不记得支持ADK 2.0的Android设备的向后兼容性 指南说“协议版本1由安卓2.3.4(API级别10)和更高版本支持。协议版本2由安卓4.1(AP
我错过了什么?这是一个bug还是一个功能?去年发布的旧ADK1库不承认JellyBean设备(Android 4.1及更高版本)所使用的新AOA v2协议。这已在更新的ADK1库版本中修复 获取新的ADK1库:
- (请在zip下载中查找“release_20120606”或更高版本)
更新ADK库并上载ADK1草图。请注意,新库已经更新,可以与Arduino 1.0及更高版本一起使用,因此您可能还需要更新您的Arduino IDE。在回复@Chris Stratton时,问题是原始库的编写没有考虑到未来的兼容性 原始库假定(通过
协议==1
签入开关设备()
),未来的协议版本将不向后兼容。从20120606库版本(通过修订的协议>=1
签入开关设备()
)可以看出,现在的目的是希望未来的库版本能够向后兼容
不幸的是,这意味着使用库的原始版本编译的现有固件与Jelly Bean设备不兼容。固件需要使用新的库版本重新编译并重新上载到附件
还要注意,在我写这篇文章时,文档中有一个错误,侧栏中的“ADK软件包”链接链接到较旧的库版本,而不是正文中链接的较新版本。(我为此添加了一个bug:)
其他信息:
- 请注意
说:“协议的2.0版是向上兼容的,因此为原始附件协议设计的附件仍然适用于较新的Android设备。”但这忽略了原始库的问题http://developer.android.com/tools/adk/aoa2.html#detecting
- 还要注意,
和http://developer.android.com/tools/adk/adk.html#start-adk
两者都使用http://developer.android.com/tools/adk/aoa2.html#detecting
咒语。(我无法验证这一点,但鉴于原始库未使用此版本的检查,我认为ADK2011文档已更新为使用新检查。)协议>=1
- 在Mac OS Mountain Lion上运行
- 带Arduino Mega ADK
- 三星Galaxy S3和4.1.1
FL简单地将固件从(协议==1)检查更改为(协议>=1)对我来说很有效(至少对于枚举-发送和接收仍然需要测试)。我的硬件是LPC1768 mbed。()我也有同样的问题。在Jellybean连接到Nexus 7时被确定为媒体设备之前,一个USB附件在所有方面都非常有效。我刚刚用两台运行4.1的设备(Galaxy Nexus和Nexus 7)试用了我的ADK2011(可以说是一个“久经考验的真正的ADK附件”)。有没有什么方法可以提供比它不起作用更多的上下文?源代码/错误/日志/有什么可以说明问题的吗?@ajray:有问题的代码位于。适用于您的代码的源代码是否公开?@vt.developer.android.com/tools/adk/adk.html我正在使用带有默认草图(demokit.pde)的设备(ADK2011)。我可以使用你的应用程序连接到设备,然后随机按下按钮点亮其中一个LED。我不能让你的arduino草图来建造;如果可以,我会在我的设备上测试。如果可以的话