1

数日前、私は Arduino Mega ADK ボードを手に入れました。ここ数晩、開発環境をセットアップし、ツールなどに慣れてきました。ツールとライブラリはすべて正常に動作します。たとえば、 Android 4.03 を実行している Asus Eee Pad Transformer TF101 でコンパイルして実行するために、Processing IDE で作成されたプログラムを入手できます。しかし、事前に作成されたサンプルの 1 つをコンパイルして実行しようとすると、コンパイル エラーが発生します。

Android SDK ツール リビジョン 20 C:\NVPACK\android-sdk-windows にインストール プロジェクト タイプ: アプリケーション プロジェクト ターゲット: Android 2.3.3 API レベル: 10 ライブラリの依存関係: ライブラリなし


API<=15: クラスパスに annotations.jar を追加します。AndroidManifest ファイルを 1 つにマージします。マニフェストのマージが無効になっています。プロジェクト マニフェストのみを使用します。コンパイルする 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 Web サイトの手順を使用して行われましたが、既に Android SDK ツールがインストールされています)。ウィル・スコット・ジャクソン

4

3 に答える 3

1

サポート ライブラリをプロジェクトに追加していないか、Android SDK にダウンロードしていないようです。

ADK1 デモキット アプリは、API レベル 10 (Android 2.3.3) を対象としています。これは、プロジェクトでサポート ライブラリを使用する必要があることを意味します。そのため、コンパイラは、レベル 10 ライブラリの依存関係が利用できないと不平を言っています。サポート ライブラリはSDK Managerで個別にダウンロードされるため、開発環境にない場合があります。

Android API レベル 12 以降では、USB アクセサリ プロトコルがフレームワーク API に追加されたため、アクセサリ プロトコルを使用するには2 つの異なる方法があります。そのため、Honeycomb 以降のバージョンをターゲットにしている場合はサポート ライブラリを使用する必要はありません、これを機能させるにはデモキット アプリのコードを更新する必要があります。

お役に立てれば。

于 2012-07-27T15:42:33.723 に答える
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 を見つけてプログラムをコンパイルしてインストールするのに問題はありませんが、実行しようとすると見つけることができます。

于 2012-07-31T14:17:29.070 に答える
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);
于 2012-08-02T10:16:53.750 に答える