有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.mobovip.bgr.MainActivity" on path: DexPathList[[zip file "/data/app/com.mobovip.bgr-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobovip.bgr-1, /vendor/lib, /system/lib]]
这个问题出现的情况基本有那么几种:
1。Manifest文件中注册的Activity的名称,有没有写错,包名有没有搞错,有些网友,可能只写一个类名,前面用点号代替,但是这个类不在默认的包内,所以报这个错,那么只要写上类的全名,即可。(这个应该很容易检查)
2。有些android,需要一些第三方的包,直接将其引入,在以前是可以的,但是在最新的adt中不行,必须在程序中新建一个libs文件夹,将第三方的jar文件copy到libs文件夹中,才行,很多人因为这样才报错,特别是以前的项目,默认并没有这个libs文件夹,但是新版本的adt,默认就建了libs这个文件夹。(我的问题就出现在这点上,我安装了最新的ADT,虽然在程序中新建了libs文件夹,但有些jar包并没有放在libs中。但是我就奇怪,为什么引用其他文件夹中的jar包不可以?以前可以现在不可以,google疯了?)
3。有一点也很重要,在Java Build Path面板下的Order and Export中,一定要把你引入的jar文件,勾上,否则,跟没引用一样,切记。(这个应该关系不大)
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobovip.bgr/com.mobovip.bgr.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.mobovip.bgr.MainActivity" on path: DexPathList[[zip file "/data/app/com.mobovip.bgr-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobovip.bgr-1, /vendor/lib, /system/lib]]
这个问题出现的情况基本有那么几种:
1。Manifest文件中注册的Activity的名称,有没有写错,包名有没有搞错,有些网友,可能只写一个类名,前面用点号代替,但是这个类不在默认的包内,所以报这个错,那么只要写上类的全名,即可。(这个应该很容易检查)
2。有些android,需要一些第三方的包,直接将其引入,在以前是可以的,但是在最新的adt中不行,必须在程序中新建一个libs文件夹,将第三方的jar文件copy到libs文件夹中,才行,很多人因为这样才报错,特别是以前的项目,默认并没有这个libs文件夹,但是新版本的adt,默认就建了libs这个文件夹。(我的问题就出现在这点上,我安装了最新的ADT,虽然在程序中新建了libs文件夹,但有些jar包并没有放在libs中。但是我就奇怪,为什么引用其他文件夹中的jar包不可以?以前可以现在不可以,google疯了?)
3。有一点也很重要,在Java Build Path面板下的Order and Export中,一定要把你引入的jar文件,勾上,否则,跟没引用一样,切记。(这个应该关系不大)
上面的是网上的一般的解决方法,但是楼主试了都没空,楼主的解决方法是:fix project,就解决了
还有一种可能,就是依赖包没有导入。