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

时间:2012-07-15 16:05:15

标签: android arduino build.xml adk processing-ide

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

Android SDK工具修订版20 安装在C:\ NVPACK \ android-sdk-windows 项目类型:应用 项目目标:Android 2.3.3 API级别:10 库依赖项: 没有图书馆


API< = 15:将annotations.jar添加到类路径中。 将AndroidManifest文件合并为一个。 清单合并已禁用。仅使用项目清单。 没有要编译的AIDL文件。 没有要编译的RenderScript文件。 生成资源ID ... 生成BuildConfig类。

建立失败 C:\ NVPACK \ android-sdk-windows \ tools \ ant \ build.xml:680:执行此行时发生以下错误: C:\ NVPACK \ android-sdk-windows \ tools \ ant \ build.xml:693:编译失败;有关详细信息,请参阅编译器错误输出。

总时间:7秒

这就是所有控制台似乎也输出了,这是相当令人沮丧的!据我所知,我的所有SDK版本,工具和插件都是最新的。我已经尝试使用我的硬盘上的Linux分区,它产生相同的错误信息,虽然它提到了包com.Android.future.UsbAccessory的问题。鉴于我所看到的,似乎问题在于工具,要么我的目录结构与正确的设置不匹配,要么是其他错误:S。如果有人有类似的问题,一些帮助将粉碎! (为了记录,我的设置是使用Arduino网站上的说明完成的,尽管我已经安装了Android SDK工具)。 威尔斯 - 杰克逊

3 个答案:

答案 0 :(得分:1)

听起来您尚未在support library中添加到项目中,并且/或者您尚未将其下载到Android SDK中。

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

在Android API Level 12及更高版本中,USB附件协议已添加到框架API中,因此two different ways可使用附件协议。因此,如果您的目标是Honeycomb及更高版本,则 不能使用支持库,但您必须更新demokit应用程序代码才能使其正常工作。

希望这有帮助。

答案 1 :(得分:0)

所以我已经仔细检查了我的设置并开始研究我想到的项目,它似乎正确地导入了库。到目前为止这么好,但是当我输入时:

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)

应用程序构建并安装到我正在使用的Android平板电脑上之后。有什么想法,我怎么能来这个?从我所知道的,找到com.android.future.usb.manager来编译和安装程序没有问题,但是一旦它试图运行就可以找到它。

答案 2 :(得分:0)

基于http://stream.tellart.com/controlling-arduino-with-android/

的本教程

在示例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);