2010年09月30日
Android on UbuntuでUbuntu側からAndroidのアプリを起動する
9/28に開催されたCELFのBoFでプレゼンとデモをさせていただきました。
このデモの中で使ったAndroid on UbuntuでUbuntu側からAndroidのアプリを起動するためのスクリプトを紹介します。
このデモの中で使ったAndroid on UbuntuでUbuntu側からAndroidのアプリを起動するためのスクリプトを紹介します。
まずはその時の説明資料です。今回はビデオはありません。
Androidでコマンドラインからintentを発行してアプリを起動するのにamというコマンドが使えます。
それの中身は以下の通り。たった数行のshellスクリプトでした。
/system/bin/am
/system/bin/am2
Androidの電卓を起動するスクリプト
android_calc
android_view
2010.10.5 追記
きんねこさんから画面を切り替える便利な技を教えてもらいました。
USBキーボードをつないでおけば、Ctrl+ALT+F1からF6でそれぞれtty1からtty6に切り替わってCtrl+ALT+F7でフレームバッファのAndroidの画面に戻ります。
関連するページ
ARM Debian/Ubuntuの上でAndroidを動かす
Android On Ubuntu for developer
View more presentations from Tetsuyuki Kobayashi.
Androidでコマンドラインからintentを発行してアプリを起動するのにamというコマンドが使えます。
それの中身は以下の通り。たった数行のshellスクリプトでした。
/system/bin/am
# Script to start "am" on the device, which has a very rudimentary # shell. # base=/system export CLASSPATH=$base/framework/am.jar exec app_process $base/bin com.android.commands.am.Am "$@"簡単なアイディアとして、これをchrootで実行すれば、Ubuntu側から同じことができるはずです。amコマンドそのままではchrootでうまく動かなかったので、以下のように修正してam2を作りました。
/system/bin/am2
#!/system/bin/sh # Script to start "am" on the device, which has a very rudimentary # shell. # export ANDROID_ASSETS=/system/app export ANDROID_BOOTLOGO=1 export ANDROID_DATA=/data export ANDROID_PROPERTY_WORKSPACE=9,32768 export ANDROID_ROOT=/system export ASEC_MOUNTPOINT=/mnt/asec export BOOTCLASSPATH=/system/framework/core.jar:\ /system/framework/ext.jar:/system/framework/framework.jar:\ /system/framework/android.policy.jar:\ /system/framework/services.jar export EXTERNAL_STORAGE=/mnt/sdcard export LD_LIBRARY_PATH=/system/lib export PATH=/sbin:/system/sbin:/system/bin:/system/xbin base=/system export CLASSPATH=$base/framework/am.jar exec app_process $base/bin com.android.commands.am.Am "$@"今度はUbuntu側で使用するスクリプトです。単に引数を与えてAndroid側のam2をchrootで実行するだけです。
Androidの電卓を起動するスクリプト
android_calc
sudo chroot /android /system/bin/am2 start -n com.android.calculator2/.CalculatorAndroidのブラウザを起動するスクリプト
android_view
url=$1 if [ $# -eq 0 ]; then url="http://www.kmckk.co.jp/" fi sudo chroot /android /system/bin/am2 start -a android.intent.action.VIEW $urlこれでUbuntuのshellから以下のようにすればAndroidのブラウザが起動できます。
# ./android_view http://www.asahi.com/
2010.10.5 追記
きんねこさんから画面を切り替える便利な技を教えてもらいました。
USBキーボードをつないでおけば、Ctrl+ALT+F1からF6でそれぞれtty1からtty6に切り替わってCtrl+ALT+F7でフレームバッファのAndroidの画面に戻ります。
関連するページ
ARM Debian/Ubuntuの上でAndroidを動かす
トラックバックURL
トラックバック一覧
1. CELFテクニカルジャンボリーのリンク集 [ KMC Staff Blog ] 2010年10月01日 12:22
今までCELFテクニカルジャンボリーで話をしたときのリンクを集めてみました。
2. KZM-CA9-01ボードのリンク集 Links related KZM-CA9-01(Quad core Cortex-A9 board) [ KMC Staff Blog ] 2010年10月01日 12:25
4コアのCortex-A9のKZM-CA9-01ボードを使って実験したことを書いたページをまとめてみました。