"Hello Android": Part 2
This morning was a good time to finally move the last laptop in my home office to Linux from Windows (in this case Windows XP) and use the laptop as a dedicated Android development environment. As you may have read in my first post, I am planning the initial project phases for a cross-platform application proof-of-concept.
The laptop is a relatively old IBM ThinkPad T42 that I purchased as a reward to myself after having completed graduate school several years ago. Since Android is a mobile operating system based on a modified version of the Linux kernel, I have had considerable experience in Linux and UNIX environments on past development projects, am currently virtualizing Linux-based products to VMware for a client, and have been looking to move away from Windows, the choice to use Linux seems to make sense. And Ubuntu is based on the Debian GNU/Linux distribution, is free and open source, easy-to-use, and popular for the desktop.
To set up this initial Android development environment (my experience has demonstrated that such things tend to change over time as needs change), I performed the following high-level steps following an archiving of files from Windows XP:
- Install Ubuntu 10.04 LTS
- Install Eclipse 3.6 (Helios)
- Install Java JDK 1.6.0_23
- Install Android SDK Starter Package
- Install ADT Plugin to Eclipse
- Configure ADT Plugin in Eclipse
- Turn Usage Data Collector off in Eclipse
- Install the following to Eclipse using Android SDK and AVD Manager:
- Android SDK Platform Tools
- Android SDK Platform (Android 2.2)
- Test deployments and executions on Android SDK mobile device emulator
These steps will be fairly trivial to most developers. In this case, I had also developed some iPad-targeted proof-of-concepts between client projects last year, so I already knew what to expect to some extent in terms of the Android tooling while testing HTML5 browser compatibility (although I mainly used MobiOne Studio). In addition, I have used Eclipse for several years, and although much of my work is at the architecture level, my colleagues and I take a practical approach as much as possible when it comes to technical or enterprise architecture, so much of the automation I have put into place for my current client, for example, has involved development in Eclipse.
My choice to use Android 2.2 was due to my recent purchase of the new Motorola Droid Pro (see the first entry in this blog series). When setting up this Android development environment, a target platform needs to be chosen, and although code can always be run in the emulator, at some point early on I would like to start testing on the phone itself, potentially followed by an Android tablet later this quarter, depending on what the market decides to bring us.