使用Android ADK与Arduino Mega ADK通信时build.xml出现问题

使用Android ADK与Arduino Mega ADK通信时build.xml出现问题,android,arduino,build.xml,adk,processing-ide,Android,Arduino,Build.xml,Adk,Processing Ide,所以几天前我拿到了Arduino Mega ADK板,最近几天晚上我一直在设置开发环境,掌握工具等。工具和库都工作得很好,例如,我可以在处理IDE中编写一个程序,在运行Android 4.03的Asus Eee Pad Transformer TF101上编译和运行。但当我让它尝试编译并运行一个预先编写的示例时,它会给我一个编译器错误: Android SDK工具修订版20 安装在C:\NVPACK\android sdk窗口 项目类型:申请 项目目标:安卓2.3.3 空气污染指数水平:10 库

所以几天前我拿到了Arduino Mega ADK板,最近几天晚上我一直在设置开发环境,掌握工具等。工具和库都工作得很好,例如,我可以在处理IDE中编写一个程序,在运行Android 4.03的Asus Eee Pad Transformer TF101上编译和运行。但当我让它尝试编译并运行一个预先编写的示例时,它会给我一个编译器错误:

Android SDK工具修订版20 安装在C:\NVPACK\android sdk窗口 项目类型:申请 项目目标:安卓2.3.3 空气污染指数水平:10 库依赖项: 没有图书馆



API听起来好像您还没有将添加到项目中,或者您还没有将其下载到Android SDK中

ADK1 demokit应用程序的目标是API级别10(Android 2.3.3);这意味着您需要在项目中使用支持库,这就是编译器抱怨10级库依赖项不可用的原因。这些支持库在中是单独下载的,因此您的开发环境中可能没有它们

在Android API级别12及更高版本中,USB附件协议被添加到框架API中,因此有必要使用附件协议。因此,如果您的目标是Honeycomb和更高版本,您不必使用支持库,但您必须更新demokit应用程序代码才能实现这一点


希望这能有所帮助。

听起来好像您还没有将添加到项目中,或者您还没有将其下载到Android SDK中

ADK1 demokit应用程序的目标是API级别10(Android 2.3.3);这意味着您需要在项目中使用支持库,这就是编译器抱怨10级库依赖项不可用的原因。这些支持库在中是单独下载的,因此您的开发环境中可能没有它们

在Android API级别12及更高版本中,USB附件协议被添加到框架API中,因此有必要使用附件协议。因此,如果您的目标是Honeycomb和更高版本,您不必使用支持库,但您必须更新demokit应用程序代码才能实现这一点


希望这能有所帮助。

所以我仔细检查了我的设置,并开始着手一个我想到的项目,它似乎可以适当地导入库。到目前为止还不错,但当我输入:

ArduinoAdkUsb arduino;

void setup() {
     arduino = new ArduinoAdkUsb(this);
     //Other UI initialisation etc. 
}
我得到这个错误:

##name## ##version## by ##author##
FATAL EXCEPTION: Animation Thread
java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager
    at cc.arduino.ADKCommunication.<init>(Unknown Source)
    at cc.arduino.ArduinoAdkUsb.<init>(Unknown Source)
    at                                                            
    processing.android.test.sketch_120730a.
    sketch_120730a.setup(sketch_120730a.java:48)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:856)
###########版本####作者###
致命异常:动画线程
java.lang.NoClassDefFoundError:com.android.future.usb.UsbManager
在cc.arduino.ADKCommunication(未知来源)
抄送arduino.ArduinoAdkUsb(未知来源)
在
processing.android.test.sketch_120730a。
草图\u 120730a.setup(草图\u 120730a.java:48)
正在处理。核心。PApplet。handleDraw(未知来源)
at processing.core.PGraphicsAndroid2D.requestDraw(未知源)
at processing.core.PApplet.run(未知源)
运行(Thread.java:856)

在我正在使用的Android平板电脑上构建并安装应用程序之后。有没有想过我该如何克服这一切?据我所知,找到com.android.future.usb.manager来编译和安装程序是没有问题的,但一旦它尝试运行它,就可以找到它。

所以我仔细检查了我的设置并开始着手一个我想到的项目,它似乎可以适当地导入库。到目前为止还不错,但当我输入:

ArduinoAdkUsb arduino;

void setup() {
     arduino = new ArduinoAdkUsb(this);
     //Other UI initialisation etc. 
}
我得到这个错误:

##name## ##version## by ##author##
FATAL EXCEPTION: Animation Thread
java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager
    at cc.arduino.ADKCommunication.<init>(Unknown Source)
    at cc.arduino.ArduinoAdkUsb.<init>(Unknown Source)
    at                                                            
    processing.android.test.sketch_120730a.
    sketch_120730a.setup(sketch_120730a.java:48)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:856)
###########版本####作者###
致命异常:动画线程
java.lang.NoClassDefFoundError:com.android.future.usb.UsbManager
在cc.arduino.ADKCommunication(未知来源)
抄送arduino.ArduinoAdkUsb(未知来源)
在
processing.android.test.sketch_120730a。
草图\u 120730a.setup(草图\u 120730a.java:48)
正在处理。核心。PApplet。handleDraw(未知来源)
at processing.core.PGraphicsAndroid2D.requestDraw(未知源)
at processing.core.PApplet.run(未知源)
运行(Thread.java:856)

在我正在使用的Android平板电脑上构建并安装应用程序之后。有没有想过我该如何克服这一切?据我所知,找到com.android.future.usb.manager来编译和安装程序是没有问题的,但一旦它尝试运行,它就可以找到它。

基于本教程

在示例RGB_Arduino中,名称、版本和作者变量设置在草图顶部

尝试在arduino草图顶部的库导入下方添加此部分代码

// accessory descriptor. It's how Arduino identifies itself to Android
char applicationName[] = "Mega_ADK"; // the app on your phone
char accessoryName[] = "Mega_ADK"; // your Arduino board
char companyName[] = "Freeware";

// make up anything you want for these
char versionNumber[] = "1.0";
char serialNumber[] = "1";
char url[] = "http://labs.arduino.cc/adk/"; // the URL of your app online


//initialize the accessory:
AndroidAccessory usb(companyName, applicationName,
accessoryName,versionNumber,url,serialNumber);

基于来自的本教程

在示例RGB_Arduino中,名称、版本和作者变量设置在草图顶部

尝试在arduino草图顶部的库导入下方添加此部分代码

// accessory descriptor. It's how Arduino identifies itself to Android
char applicationName[] = "Mega_ADK"; // the app on your phone
char accessoryName[] = "Mega_ADK"; // your Arduino board
char companyName[] = "Freeware";

// make up anything you want for these
char versionNumber[] = "1.0";
char serialNumber[] = "1";
char url[] = "http://labs.arduino.cc/adk/"; // the URL of your app online


//initialize the accessory:
AndroidAccessory usb(companyName, applicationName,
accessoryName,versionNumber,url,serialNumber);