Android For OMAP3 with Gstreamer Integration JP
From labs.embinux.org
このページはAndroid (GStreamerを統合したもの) を OMAP3 プラットフォーム (BeagleBoard & OMAP3EVM)に移植する方法を記述しています。
注意: 以前の BeagleBoard への Android 移植のページは情報が古いため削除される予定です。
Contents |
Android 移植版について
OMAP3向けAndroidの現行のリリースは以下の機能をサポートしています。
- BeagleBoardに対応
- OMAP3EVM プラットフォームに対応
- Android ツールチェインに代えて Embinux Toolchainの使用
- GStreamer (0.10) の統合
- gst-plugins-bad
- gst-plugins-base
- gst-plugins-good
- gst-plugins-ugly
- gst-ffmpeg
- gst-opemmax
ソースコード
Android のダウンロード
以下の手順でEmbinux labsからダウンロードしてください。
$mkdir omap3droid $cd omap3droid $repo init -u git://labs.embinux.org/repo/android/platform/omap3manifest.git $repo sync
注意 : レポジトリの使用についての詳しい情報は以下のリンクを参照ください。
コンパイル
$cd ~/Android_build $source build/envsetup.h $choosecombo 1 1 beagle eng --> beagleboard用 $choosecombo 1 1 omap3evm eng --> omap3evm用 $make
カーネルイメージ
現行のAndroid用 Embinux カーネルは linux-omap-2.6.29 を元にしています。
カーネルイメージは以下のパスに作成されます。
BeagleBoard
~/Android_build/out/target/product/beagle/kernel
OMAP3EVM
~/Android_build/out/target/product/omap3evm/kernel
Androidルートファイルシステム(RFS)のコピー
$cd ~/Android_build/out/target/product/omap3evm
あるいは
$cd ~/Android_build/out/target/product/beagle
$mkdir ~/Android_RFS
$cp -a root/* ~/Android_RFS
$cp -a data/* ~/Android_RFS/data/
$cp -a system/* ~/ Android_RFS/system/
GStreamer
GStreamerはLinuxの世界で広く支持されているマルチメディアフレームワークです。これはパイプライン処理を基本にしたマルチメディアフレームワークで、プログラマは、多種多様なメディア処理コンポーネント(単純なオーディオ再生、オーディオとビデオの再生、録音、ストリーミング、編集など)を容易に作成することができます。
注意 : 私たちの Android 移植版 GStreamer は、Prajnashi 氏の Android 向け GStreamer を元にしています。
カーネルパラメータ
BeagleBoard
- console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 video=omapfb.mode=dvi:1280x720MR-24@50 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS2
OMAP3EVM
- console=ttyS0,115200n8 noinitrd root=/dev/mmcblk0p2 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS0
Video.apk のインストール
Video.apk はビデオファイル再生のための使いやすいユーザーインターフェースを提供します。
- Video.apk をダウンロードします。
- Android_RFS/system/apps/ にコピーします。
GStreamer を使ったビデオ再生
現行版は 3gp のみサポートしています。
- video.3gp をSDカードの第1パーティションにコピーします。
- gst.conf を ~Android_build/external/gst-plugins-android/player からSDカードの第1パーティションにコピーします。
$mount -t vfat /dev/block/mmcblk0p1 /sdcard $setprop EXTERNAL_STORAGE_STATE mounted $am broadcast -a android.intent.action.MEDIA_MOUNTED --ez read-only false -d file:///sdcard
- ユーザーインターフェースからビデオを再生します。
注意
- gst.conf をコピーしないと、Android はopencore を使用します。
- 現在のところ、オーディオの機能は完全ではありません。
Androidのデバッグ
- シェルから $logcat を実行します。
- /data/dalvik-cache 以下に、Androidアプリの *.dex があることを確認してください。
ネットワークを有効にする
- USBハブにUSBイーサネットアダプタ eth0 を接続します。
- <Android_RFS>/init.rc にある inir.rc を編集します。
#basic network init setprop net.dns1 <primary-dns-server-ip>
- Beagle board を起動します。
- minicom から以下のコマンドを実行します。
$netcfg eth0 up $netcfg eth0 dhcp
注意: ご使用のUSBイーサネットアダプタに対応するドライバをカーネルの設定で指定してください。ドライバの選択は以下のメニューからできます :
| -> DeviceDrivers | │ -> Network device support (NETDEVICES[=y]) │ │ -> USB Network Adapters
