Friday, September 14, 2012

My New iMac Android Development Environment

I've just joined the ranks of Mac desktop users. Why? Because it just makes sense if you are doing Android development. One of the beautiful things about Android is that it's open and free. Sure there are a bunch of caveats that come with that statement but if you are just some Joe Schmoe developer (or wanna be developer) you can easily and freely build Android apps and install them on actual phones. Free. No strings attached. When my primary development focus shifted from Windows Desktop software development to Android mobile development a little over a year ago I largely stuck with my existing development environment (a beefy desktop PC running Windows 7) and simply switched out the dev tools. In order to get started with Android development all that was necessary was downloading new free/open source development tools including Android SDK, Android NDK, Eclipse, and Android ADT plugin. If you are planning on writing a simple Android app then it is true that these tools are available and can work well on whatever desktop environment you choose (Windows, Mac, or Linux). Once you start digging deeper into Android development or attempt to do more advanced things (like building Android from source or using the native NDK) you discover that not all Android dev environments are equal. After spending a year developing for Android I'm looking forward to trying Android development on a Mac. Not because I love Apple or even want to support them but because I want to build better Android apps and be a more productive developer. Being entirely new to a Mac I plan to post rants about switching to a Mac for general development and hopefully some raves in which my Android Development experiences have improved. Rant 1: Why the heck did Apple think it was a good idea to hide the power button on the back of the iMac? Just trying to find the power button for the first time was a major pane. Rant 2: Given the keyboard that comes with an iMac I'm very surprised that every Mac desktop user doesn't have carpal tunnel. Rant 3: Trying to access the Root folder (or my home folder) was ridiculously hard. Why aren't the home or root folders in your list of favorite directories by default?

Saturday, January 8, 2011

Monodroid: Could not locate Android SDK

After installing monodroid and attempting to build a simple project I got the following build error:

C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(156,2): error : Could not locate Android SDK.


Turns out the problem had to do with where I had installed my Android SDK. Currently monodroid expects the android SDK directory to be located in either the %ProgramFiles(x86)%\Android directory or in the root directory. An easy way to work around this problem without changing your existing android dev environment is to create a symlink to the directory where monodroid expects to find it.

In order to build the project you can link your android SDK directory to either directory that monodroid checks. But, in order to deploy and/or debug the application you NEED to choose the root location.

Here is the command I used to create s symlink on my Win7 dev environment. Make sure you substitute your actual install directory for <installdir> and also be sure to run this command as an administrator.

mklink /D "c:\android-sdk-windows" "<installdir>\android-sdk-windows"