今天打开刚打开Eclipse,提示我library库有更新。二话没说,直接打开Android SDK Manager,更新了一遍所有能更新的,同时把ADT也升级到了22版本。
升级过程比较顺利,编译之前的代码,也没有什么问题,但是接下来就出问题了。
我把编译出来的APK在设备上运行,一运行就出来java.lang.ClassNotFoundException的错误,明明那个class是存在的。之前也遇到过类似的问题,但那个是升级ADT17的时候外部jar包包含不对引起的,这个不是同一个问题啊,但是从现象上来看应该是一样的。
既然错误的信息一样,那就从引用的地方入手。后来果然发现.classpath文件发生了变化。
之前的.classpath文件:
<?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 kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath>
<?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 kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath>
<?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>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>改成了
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
修改后再次运行,OK,没问题了!
转自
http://www.csdn123.com/html/blogs/20130516/13235.htm