Lucas
Lucas

Reputation: 3591

Android Project - Something messed up my .classpath files (Eclipse 4.2? Eclipse 3.8?)

I'm looking if someone else also got this problem, and if he found a source reason for it.

What happened is this:

I have dozens of different project. One of those was this project:

That I had once to help me. I didn't do anything with the project, aside importing it. That was couple months ago. I had Eclipse 3.7 at that point.

In the meantime I found out Eclipse Juno was out, and thought to try it. So I did, but later on due to couple different problems I decided to revert back for the time being. I found out the 3.8 version of Eclipse and so I gave it a go, and left my eclipse environment for a while.

Today I opened Eclipse as I wanted to do some work, and I found out over half of my projects(working projects) stopped working, and gave me this error or some similar errors:

05-18 19:53:01.672: E/AndroidRuntime(3939): FATAL EXCEPTION: main
05-18 19:53:01.672: E/AndroidRuntime(3939): java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.example.android.bitmapfun/com.example.android.bitmapfun.ui.ImageGridActivity}:

Basicaly errors that had to do with ClassNotFound Exception. I said to myself, that's strange. I started investigating, and after couple of hours I found out something messed up my .classpath (build path) files. I downloaded the sample project again, and it's classpath file looks like so:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

But my .classpath file in my local project looked like that:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

I swear to God I didn't touch that project since I imported it a while back, and it was deffinetly in working condition back then.

Editing Build Path didn't work by itself. Even closing and reopening project didn't help. I had to restart eclipse as well, and only then, when I edited the .classpath file (or build path) it worked again.

Also I found out, that the export tab is not updated. For instance, if I add some library, it is added to dependencies, but in order for it's classes to be found at runtime, it has to be exported. I never (almost never) touched this tab, so it had to be "checked" automaticaly once I added different libraries, but now it seems it's not doing so.

I have no idea what did this, I hope it's not the Eclipse Juno, which had(has) some kind of a bug. Has anybody encountered this?

Upvotes: 8

Views: 7863

Answers (1)

Cote Mounyo
Cote Mounyo

Reputation: 13985

I went to the complaining library and changed Project-Properties > Java Compiler > Compiler compliance level > 1.6 and that solved my problem.

Upvotes: 1

Related Questions