Sunday, August 8, 2010

Could not find .apk – Android ADT + Eclipse Galileo vs. Helios

I’ve been fighting for some time now with could not find apk thingy in eclipse. Eclipse Galileo to be specific. It happened after I cleaned up the project or added an existing/new one.

So I was thinking either going the manual way and see what errors eclipse may not be reporting to the console or installing Eclipse Helios and see if that one might be better on reporting probable errors.

I’ve got Windows 7 x64, so I was not that surprised seeing: “Failed to load the JNI shared library "C:\Program Files (x86)\Java\jdk1.6.0_20\bin” error when starting Helios. I made a bit of a pre-read to see what other problems I might see. As often now, stackoverflow is the godsent for that: http://stackoverflow.com/questions/1919340/android-sdk-setup-under-windows-7-pro-64-bit

BUT, to my surprise after installing jdk 6u21 for x64 Windows I’ve got not a slightest issue whatsoever with android adt setup and work for Helios. Of course, not side effect free as I’ve got sdk already installed and my avd created when having x32 jdk, but still, I’m not targeting any clean state just for the sake of it.

SO, it is good I looked at the title before publishing this, as Yes, I wanted to talk about that “Couldn’t find .apk” stuff!

 

It turns out (how simple!!!! when you know …) that by default eclipse has that “Build Automatically” setting setup.

image What happens with it? Most of us probably (should) have that Build Path problem on the initial build when we go and disable build error on build path problems. This is connected to that “gen” folder that is autogenerated for android resources.

While we have some clues on the start in Galileo, later on when you clean or import an existing project from somewhere Galileo gives you no clue that it experiences again that build path issue.

Either in Galileo or Helios, it was enough for me just to disable that setting, build and then re-enable it (but not even sure if I want to have it enabled truly…)

What is different in Helios is that it tells you by the icon at least that something is wrong:

image

P.S. A bit about finding x64 jdks for Windows 7, again stackoverflow was a godsent for the link: https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u21-oth-JPR@CDS-CDS_Developer. I’m providing the whole link, so by substituting that 6u21 bit, one can get whatever historical version platform picker screen.

P.P.S. And after all of that I got this “could not find” in helios after a while! I just restarted eclipse and it was ok. This thing is haunting me!

No comments: