labs.beatcraft.com GPS on Android †
必要用件 †この GPS の動作は このソフトウェアのビルドには linux kernel の header が必要になりますので、 また、GPS を使用するために android-1.5r3 全体を再ビルドする必要はありません。 手順 †Android Hardware library の再ビルドと配置 †以下のようにして部分ビルドができる準備をします。 $ cd ~/android-1.5r3/build/ $ source envsetup.sh 1. 添付のアーカイブ bc9-gps.tar.gz を ~/android-1.5r3/hardware/libhardware_legacy/gps 以下に展開します。 $ tar xvfz bc9-gps.tar.gz $ cd bc9-gps $ ls Android.mk gps.cpp gps_bc9.c gps_qemu.c $ cp * ~/android-1.5r3/hardware/libhardware_legacy/gps/ 2. Android 用の Makefile、 Android.mk の BC9_KERNEL_DIR を書き換えます。 $ cd ~/android-1.5r3/hardware/libhardware_legacy/gps/ $ vim Android.mk BC9_KERNEL_DIR= :/home/beat/kernel_work/linux-android-2.6.29-bc9-r7 3. 以下のようにして libhardware_legacy.so を再ビルドします。 $ cd ~/android-1.5r3/hardware/libhardware_legacy/gps/ $ mm これで ~/android-1.5r3/out/target/product/generic/system/lib/ に libhardware_legacy.so が再ビルドされます。 4. 3. で作成した libhardware_legacy.so を /system/lib/libhardware_legacy.so に上書きします。 $ export ASBHOST=192.168.0.144 $ adb kill-server $ adb start-server $ adb push ~/android-1.5r3/out/target/product/generic/system/lib/libhardware_legacy.so /system/lib あるいは bc9 起動用 microSD を作業用 PC にマウントし、 $ sudo cp -a ~/android-1.5r3/out/target/product/generic/system/lib/libhardware_legacy.so /media/disk-1/android-root/system/lib/ 5. android の設定をハードウェア GPS が有効になるように sqlite で設定データベースを書き換えます。 $ adb pull /data/data/com.android.providers.settings/databases/settings.db . $ sqlite3 settings.db sqlite> update secure set value = 'gps,network' where name='location_providers_allowed'; sqlite> .exit $ adb push settings.db data/data/com.android.providers.settings/databases/ あるいは bc9 起動用 microSD を作業用 PC にマウントし、 $ cd /media/disk-1/android-root/data/data/com.android.providers.settings/databases/ # sqlite3 settings.db sqlite> update secure set value = 'gps,network' where name='location_providers_allowed'; sqlite> .exit 6. init.rc の、/dev/bc9_leds のパーミッションを設定する行の下に、以下の一行を加えます。 chmod 666 /dev/ttyS2 以上で GPS を Android から使う下回りの準備が整いました。 サンプルアプリのインストール †添付のサンプルアプリケーション bc9-gps.apk をダウンロードし、以下のようにインストールします。 $ export ADBHOST=192.168.0.144 $ adb kill-server $ adb start-server $ adb install bc9-gps.apk 正しくインストールできたら、Android の GUI から起動し、ビルド作業用PC から adb logcat して下さい。 ・adb logcat の log には Received: '................... と GPS モジュールから取得した値が出力され続ける。 以上です。 サンプルアプリケーションのソースコード †サンプルアプリケーションのソースコードは、添付の bc9-gps-sampleapp-src.tar.gz をダウンロードして御参照下さい。 |