android java
有一个工程,原本运行是正常的,我想把它移植到另外一台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文件,勾上,不然,跟没引用同样,切记。(这个应该关系不大) android
若是以上方法都不行,那么则删除bin文件夹下自动生成的文件,clean一下project,再编译跑一下程序。我就只这样成功的,祝你好运。 app