ADKでのチェックポイント

前回のADKの記事で「チェックポイントは、Android側のAndroidManifest.xmlファイルにUSBアクセサリーに関係する部分を正しく書くことと、リソースのxml/accessory_filter.xmlとArduino側のAndroidAccessoryの記述を合わせること。」部分の説明が無かったので、この部分について、実例(自分で作ったAdkAppのモノ)を挙げて説明します。

まずは「Android側のAndroidManifest.xmlファイル」ですが、USBアクセサリーとしてビルド&認識されるための部分をで示しました。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jp.digick.physicom.AdkApp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
	<uses-library android:name="com.android.future.usb.accessory" />
        <activity
            android:name=".AdkAppActivity"
            android:label="@string/app_name"
            android:launchMode="singleInstance" >
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
            </intent-filter>
            <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" />
        </activity>
    </application>

</manifest>

次にAndroid側のリソースのxml/accessory_filter.xmlとArduino側のAndroidAccessoryの記述です。
それぞれの色の部分が同じである必要があります。
これら3つの値(文字列)で、接続されたアクセサリーのハードに対応するアプリ(?)を特定しているもようです。

Android側のxml/accessory_filter.xmlです。

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<usb-accessory manufacture="Physical Computing Blog" model="AdkApp" version="1.0" />
</resources>

Arduino側のAndroidAccessoryの宣言部分です。

AndroidAccessory acc("Physical Computing Blog", // 組織名
                     "AdkApp",       // アプリ名
                     "AdkApp Arduino Board", // アプリ説明
                     "1.0",          // バージョン
                     "http://physicom.digick.jp", // URL
                     "0000000012345678" // シリアル
                     );
カテゴリー: Android, Arduino, 作ったモノ タグ: , , パーマリンク

ADKでのチェックポイント への2件のフィードバック

  1. adac5963 のコメント:

    丁寧に解説記事追加ありがとうございます。
    小生の場合は、雑誌記事をみて初めてトライするので、Demokitそのままです。AndroidManifest.xmlファイル、Accessory-filterの記述とDemokit.pdeの記述比較確認しましたが、一致していました。
    他に原因がありそうです。もう少し調査・トライしてみます。
    気になっているのが、Arduino-1.0のIDEでDemokitのコードをベリファイしたらエラーがでており、海外のサイトの記述にUSB_Host_Shield0023を使えとあって、それでやったらエラーがなくなり、ArduinoのADKにアップロードしていることです。
    どうもありがとうございました。

  2. yuji のコメント:

    adac5963さん
    お役に立てなかったようで、申し訳ありません。
    原因が判明しましたらご一報ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください