报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList

本文探讨了在将Android应用从一台PC移植到另一台时,遇到ClassNotFoundException错误的原因及解决方法,主要关注于Manifest文件的正确配置、第三方包的引入方式以及JavaBuildPath设置的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报:

[color=red]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]]
[/color]

这个问题出现的情况基本有那么几种:

1。Manifest文件中注册的Activity的名称,有没有写错,包名有没有搞错,有些网友,可能只写一个类名,前面用点号代替,但是这个类不在默认的包内,所以报这个错,那么只要写上类的全名,即可。[color=red](这个应该很容易检查)[/color]


2。有些android,需要一些第三方的包,直接将其引入,在以前是可以的,但是在最新的adt中不行,必须在程序中新建一个libs文件夹,将第三方的jar文件copy到libs文件夹中,才行,很多人因为这样才报错,特别是以前的项目,默认并没有这个libs文件夹,但是新版本的adt,默认就建了libs这个文件夹。[color=red](我的问题就出现在这点上,我安装了最新的ADT,虽然在程序中新建了libs文件夹,但有些jar包并没有放在libs中。但是我就奇怪,为什么引用其他文件夹中的jar包不可以?以前可以现在不可以,google疯了?)[/color]


3。有一点也很重要,在Java Build Path面板下的Order and Export中,一定要把你引入的jar文件,勾上,否则,跟没引用一样,切记。[color=red](这个应该关系不大)[/color]
这是运行日志,运行时直接闪退,提示运用已经停止。 2025-06-03 19:43:52.326 24994-24994/? E/example.shopap: Unknown bits set in runtime_flags: 0x8000 2025-06-03 19:43:52.603 24994-24994/com.example.shopapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.shopapp, PID: 24994 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.shopapp/com.example.shopapp.Wangluo}: java.lang.ClassNotFoundException: Didn’t find class “com.example.shopapp.Wangluo” on path: DexPathList[[zip file “/data/app/com.example.shopapp-YL9iaYQB4wjZ8_3HRELixQ==/base.apk”],nativeLibraryDirectories=[/data/app/com.example.shopapp-YL9iaYQB4wjZ8_3HRELixQ==/lib/x86, /system/lib, /system/product/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3194) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.example.shopapp.Wangluo” on path: DexPathList[[zip file “/data/app/com.example.shopapp-YL9iaYQB4wjZ8_3HRELixQ==/base.apk”],nativeLibraryDirectories=[/data/app/com.example.shopapp-YL9iaYQB4wjZ8_3HRELixQ==/lib/x86, /system/lib, /system/product/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95) at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43) at android.app.Instrumentation.newActivity(Instrumentation.java:1243) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3182) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
最新发布
06-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值