Printable Version

Android For OMAP3 with Gstreamer Integration JP

From labs.embinux.org

Jump to: navigation, search

このページはAndroid (GStreamerを統合したもの) を OMAP3 プラットフォーム (BeagleBoard & OMAP3EVM)に移植する方法を記述しています。

注意: 以前の BeagleBoard への Android 移植のページは情報が古いため削除される予定です。

Contents

Android 移植版について

OMAP3向けAndroidの現行のリリースは以下の機能をサポートしています。

ソースコード

gitを閲覧する

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