android 深入开发

Android For OMAP3 with Gstreamer Integration

This page describes how to port Android (integrated with GStreamer) to OMAP3 platforms (BeagleBoard & OMAP3EVM).



Android port

Current release of Android port for OMAP3 has following features/support

Source Code

Browse the git

Download Android Build

Follow these steps for downloading build from Embinux labs

$mkdir ~/Android_build
$cd ~/Android_build

For BeagleBoard

$repo init -u git:// -b gstreamer-cupcake-omap-beagle

For omap3evm

$repo init -u git:// -b gstreamer-cupcake-omap-evm 
$repo sync

Note : For complete information about repo check following links

Build Compilation

$cd ~/Android_build
$source build/
$choosecombo 1 1 beagle eng  --> For beagleboard
$choosecombo 1 1 omap3evm eng --> For omap3evm

Kernel Image

Current Embinux kernel for this Android port is derived from linux-omap-2.6.29.

Kernel image is generated at following path.





Copying 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/
$cd ~/Android_RFS
$sudo chown -R root.root *
$sudo chmod -R 777 *


GStreamer is a widely supported multimedia framework in Linux world. It is a pipeline based multimedia framework which allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming, and editing.

NOTE : Our GStreamer port for Android is derived from Prajnashi's Android-GStreamer port.

Boot Arguments


  • 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
    • Pass appropriate video mode for your display. Check this & this link for more information.


  • console=ttyS0,115200n8 noinitrd root=/dev/mmcblk0p2 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS0

Install Video.apk

Video.apk provides an easy to use User Interface through which you can play video files.

  • Download Video.apk
  • Copy to Android_RFS/system/apps/

Playing Video using GStreamer

Presently it supports only 3gp

* Copy video.3gp to first partition of sdcard
* Copy gst.conf from ~Android_build/external/gst-plugins-android/player to first partition of sdcard 
$mount -t vfat /dev/block/mmcblk0p1 /sdcard
$am broadcast -a android.intent.action.MEDIA_MOUNTED --ez read-only false -d  file:///sdcard
* Play Video from User Interface


  • Android uses opencore if gst.conf is not copied
  • Presently audio is not fully functional

Debugging Android

  • Execute $logcat from shell
  • Check if you can find *.dex files of android apps in /data/dalvik-cache

Enabling Network

  • Connect eth0 interface to usb hub via ethernet to usb converter
  • Edit init.rc from <Android_RFS>/init.rc
#basic network init
setprop net.dns1 <primary-dns-server-ip> 
  • Boot Beagle board
  • Execute following commands from minicom
$netcfg eth0 up
$netcfg eth0 dhcp

NOTE:- Enable appropriate driver for your "ethernet to usb converter" in kernel. Driver can be found at :-

│ -> DeviceDrivers │ │ -> Network device support (NETDEVICES[=y]) │ │ -> USB Network Adapters

上一篇Android on OMAP3EVM information page
下一篇Android-Cupcake porting guide to EVM
想对作者说点什么? 我来说一句

gstreamer on android

2013年08月21日 606KB 下载