Android Usage

From Gumstix User Wiki

Jump to: navigation, search

Several features selected to facilitate development have been built into this port of Android on Overo COMs. Some tweaks may be required to get this to work on your setup.

Contents

Navigation

It is possible to use a USB mouse and keyboard connected to the USB Host port via a USB hub for navigation and input. Note there is no visual mouse pointer.

Some expansion boards have additional pushbuttons which are setup for navigation:

Function GPIO (Button) Notes
Back GPIO23
Menu GPIO14
Power Power button on Gallop43

Calibrate Touchscreen

For touchscreen displays, you might like to replace the /system/etc/pointercal file from the Android root file system with one specific to the touchscren you are using. To generate this calibration file, boot your Gumstix + touchscreen with the standard Angstrom build, do the touchscreen calibration step, and then grab the /etc/pointercal file from the root file system.

Busybox

The Android shell is accessible via the console port as usual however many standard GNU tools are missing and the shell is pretty minimal. To install busybox, navigate to /system/bin, and issue the command $ ./busybox install. Similarly, the Vim editor has been installed as a binary.

Change Boot Options (Display)

A boot.scr u-boot script sets appropriate boot options assuming 4.3" expansion boards. This file is generated using this script based on these u-boot commands. To change the boot options, generate a new version of this script.

$ git clone git://github.com/gumdroid/android-utils.git utils
$ sudo apt-get install uboot-mkimage
<...make changes to utils/androidboot.cmd...>
$ source utils/mkscript

For 3.5" touchscreen boards such as Palo35, change omapdss.def_disp=lcd43 to omapdss.def_disp=lcd35. For expansion boards supporting external monitors such as Tobi, change omapdss.def_disp=lcd43 to omapdss.def_disp=dvi. Note that even if you are using an LCD panel, it is not necessary to change the omapfb.mode as this just sets up the framebuffer in the case that an external DVI monitor is used.

Note: Those using a 3.5" LCD will notice the boot splash screen doesn't look right. A splash screen customized for the 3.5" screens is available in the utils directory.

Note: If the u-boot environment doesn't load a boot script on startup (the default behaviour), the board may not boot as expected. To reset to the default u-boot environment, issue the following command at the u-boot prompt on startup:

$ nand erase 240000 20000

Debugging

Google has provided several tools to assist debugging within the Android environment. For system level debugging, these techniques may be useful:

Likewise, Omappedia has a comprehensive list of suggestions.

Using ADB

The Android Debug Bridge (ADB) is a development Swiss Army knife for Android systems. Specifically, it facilitates application debugging and monitoring, file transfer and file management, investigation of the systems logs and configuration, and even allows screenshot capture. Depending on your host OS, the setup instructions will change. The USB IDs are set to some defaults within the kernel (arch/arm/mach-omap2/board-overo.c):

Parameter Value
VID (Vendor ID) 0x18D1
PID (Product ID) 0x9018

For recent Ubuntu systems, copy this file to /etc/udev/rules.d/51-android.rules:

$ sudo wget http://github.com/gumdroid/android-utils/master/raw/51-android.rules /etc/udev/rules.d/

Customization

The themes and features of Android are readily customizable. For more help changing the boot screen, check out this link.

Useful Links

Personal tools