This post and all its comments were migrated from Artem's personal blog beerpla.net when Android Police launched. If you would like to visit the original post there, please click here.

Today is my first day looking at Android development. My first encounter with the Android plugin for Eclipse has not been very smooth, to say the least. I am not sure if it's Android's or Eclipse's fault but I just wasted 2 hours on errors during the plugin installation and would like to pass on the time savings to you.

The plugin install page provides initial instructions and the location of the plugin to give Eclipse (https://dl-ssl.google.com/android/eclipse/). This is very standard stuff and I've installed many plugins exactly the same way. However, here's when problems started.

Problem #1: Error while loading manipulator

Eclipse just shows a cryptic Install failed box. Here are the highlights:

  • !MESSAGE Error while loading manipulator
  • java.lang.IllegalStateException: !fwConfigLocation.equals(fwPersistentDataLocation)

It looks like for whatever reason, Eclipse's fwConfigLocation variable does not match fwPersistentDataLocation. I have no idea where those come from and searching for a solution (such as this crazy Japanese sourceforge and this Eclipse bug), restarting Eclipse, and beating my head against the wall took the majority of my the 2 hours I spent on this.

Here's the full log, which will help people with the same problem find it in search engines:

[gist id='f775a202c31e289dcc16']

Finally, I found a solution that worked - modify eclipse.ini (the one that sits in elipse's install directory) and add the following:

[gist id='c98dd8a104f27503decc']

Note that the exact locations may differ for you, so figure out what is installed on your machine and replace accordingly.

Also, it seems that the location of the file HAS to be on a new line - otherwise it is not recognized. What kind of shit is that, Eclipse? Some values in eclipse.ini are specified on the same line separated by space, some separated by '=', and some have to be on a new line? This fun trivia fact wasted about 45 minutes of my time.

And yes, startup has 1 dash and launcher.library has 2. /sigh

Edit: it looks like by default Eclipse does come with these options. I somehow managed to lose them, so this is probably my fault. The error couldn't be more cryptic though.

Problem #2: java.io.IOException: Foo does not exist

java.io.IOException: The file "C:eclipsefeaturescom.android.ide.eclipse.adt_0.9.3.v200909031112-12945" does not exist

Great. Now what…

After examining the features directory, I indeed found that directory com.android.ide.eclipse.adt_0.9.3.v200909031112-12945 does not exist. What I did find though is com.android.ide.eclipse.adt_0.9.3.v200909031112-12945.jar, which is simply an archive. Why didn't you unpack this archive, Eclipse? Or Android plugin devs? Whoever is responsible for this - argh!

After quickly creating the directories and unpacking the .jar contents into them, Eclipse was finally able to install the Android plugin.

If installing a plugin is this friendly, I can only imagine what awaits me in Android app development. Am I the only one with these problems? You let me know.