チュートリアル
Android(ユーザーアプリ)機器への導入方法
1.JNIの環境構築
ユーザーアプリからテストポイントを出力するにはいくつかのインターフェースを使う必要があります。
直接インターフェースを制御することはできないため、JNIを経由して制御しテストポイントを出力するようにします。
1-1.NDKのダウンロード
以下のページより、Android NDKをダウンロードします。
お使いのOSに合わせてダウンロードしてください。
http://developer.android.com/tools/sdk/ndk/index.html
1-2.環境設定
NDKのインストールはダウンロードしたファイルの圧縮を解凍するだけです。
ダウンロードしたファイルを解凍してください。
解凍が終わったらNDKファイルを環境構築するフォルダ(DT10フォルダ)へコピーします。
コピーが終わったら、Path設定を行います。
viエディタで ~/.bashrcファイルを開きます。
NDKのPATHを記入し、フォルダを追加します。
下記の赤枠の部分を追加してください。
2.ドライバのカスタマイズ(Java)
2-1.ドライバファイルの追加
ダウンロードしたドライバを以下のようにコピーします。
・Javaファイル
⇒JavaファイルはAndroidプロジェクトのsrcフォルダ下に追加します。
今回はsrcフォルダ下のcom.heartland.blockに追加しています。
・Cファイル
まずはAndroidプロジェクトにjniフォルダを生成します。
生成したフォルダにCファイルをコピーします。
コピーが終わったら、eclipseを起動してコピーしたドライバがあるかを確認します。
2-2.Package名の修正
コピーしたドライバはサンプルドライバなので、お客様の環境に合わせてカスタマイズする必要があります。
DTdrv.javaとDtTestPointDriver.javaファイルのpackage記述をAndroidプロジェクトのpackage名に合わせて修正します。
3.接続方式によるドライバのカスタマイズについて(C言語)
> Ethernet 接続の場合
⇒プロトコル、IP アドレス、ポート番号の設定を行います。
> ファイル書き出しの場合
⇒ファイルフォーマット、保存先の設定を行います。
4.C言語ヘッダファイルの抽出
Java側からjni経由でテストポイントを出力する為、native関数が宣言されたヘッダファイルを抽出する必要があります。
DTdrv.javaファイルにnative関数のクラスが記載されているので、このクラスからヘッダファイルを抽出します。
ヘッダファイルの抽出はjavahを使って行います。
以下はサンプルプロジェクトのblockからヘッダファイル抽出する例なので、実際の作業時には
お客様の環境に合わせてフォルダを指定します。
1. DTdrv.classが存在するかを確認します。
2. DTdrv.classが確認できたら、javahでヘッダファイルを抽出します。
3. ヘッダファイルが抽出されたか確認します。
4. ヘッダファイルの名前を「DTdrv.h」に変更してjniフォルダへコピーします。
5.Android.mkの作成
jniフォルダにあるCファイルをビルドする為にはAndroid.mkファイルを作成する必要があります。
viやgeditでAndroid.mkファイルを作成するか、サンプルドライバにあるAndroid.mkを使用してください。
ファイルの内容は以下になります。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := DTdrv
LOCAL_SRC_FILES := DTdrv.c
include $(BUILD_SHARED_LIBRARY)
6.native関数名の変更
抽出したDTdrv.hファイルを開いてみるとnativeの関数が宣言されています。
サンプルのDTdrv.cファイルに実装されているnative関数名とは違うため、
DTdrv.hの関数名に合わせて変更する必要があります。
native関数名は以下の形になっているので、package名の部分だけ変更します。
(クラス名を変更した場合はクラス名の部分も変更する必要があります。)
・Java_package名_class名_関数名
Ex) Java_com_heartland_block_BlockJNI_TPBusOut
→Java_com_heartland_block_DTdrv_TPBusOut
7.コンパイル・動作確認
DT10でテストレポートを取得するためには、ドライバ関数が挿入された状態のソースコードをターゲット環境上で動作させる必要があります。
お使いの環境にドライバを使し、コンパイルやビルドなどを行いエラーが発生しないことを確認します。
jniを使うための環境設定をドライバ作成が終わったら、jniフォルダのビルドを行います。
ビルドが正常に終了したら、eclipseにjniのライブラリが表示されます。
(表示されない場合はF5キーにて更新を行ってください。)
ドライバの動作確認が完了したら、DT10でプロジェクトを作成し、実際にテストレポートを取得してみましょう。