2010年09月30日

Android on UbuntuでUbuntu側からAndroidのアプリを起動する

9/28に開催されたCELFのBoFでプレゼンとデモをさせていただきました。
このデモの中で使ったAndroid on UbuntuでUbuntu側からAndroidのアプリを起動するためのスクリプトを紹介します。


まずはその時の説明資料です。今回はビデオはありません。

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/.Calculator
Androidのブラウザを起動するスクリプト
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テクニカルジャンボリーで話をしたときのリンクを集めてみました。
4コアのCortex-A9のKZM-CA9-01ボードを使って実験したことを書いたページをまとめてみました。

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード