Android ClassNotFoundException:没有在路径上找到类

 sdfasdfqg 发布于 2023-02-06 15:54

我找不到这个错误的解决方案.可以请你永久解决.我不知道如何解决它可以帮助我.谢谢

01-04 11:06:42.302: E/AndroidRuntime(1906): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{e.gochat/e.gochat.gochat.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "e.gochat.gochat.MainActivity" on path: DexPathList[[zip file "/data/app/e.gochat-1.apk"],nativeLibraryDirectories=[/data/app-lib/e.gochat-1, /vendor/lib, /system/lib]]
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.os.Handler.dispatchMessage(Handler.java:102)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.os.Looper.loop(Looper.java:137)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread.main(ActivityThread.java:4998)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at java.lang.reflect.Method.invokeNative(Native Method)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at java.lang.reflect.Method.invoke(Method.java:515)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at dalvik.system.NativeStart.main(Native Method)
01-04 11:06:42.302: E/AndroidRuntime(1906): Caused by: java.lang.ClassNotFoundException: Didn't find class "e.gochat.gochat.MainActivity" on path: DexPathList[[zip file "/data/app/e.gochat-1.apk"],nativeLibraryDirectories=[/data/app-lib/e.gochat-1, /vendor/lib, /system/lib]]
01-04 11:06:42.302: E/AndroidRuntime(1906):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
01-04 11:06:42.302: E/AndroidRuntime(1906):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2093)
01-04 11:06:42.302: E/AndroidRuntime(1906):     ... 11 more
01-04 11:07:06.772: I/Process(1906): Sending signal. PID: 1906 SIG: 9

这是我的app Manifest XML
















    
        
            

            
        
    
     
    
    
        
            

            
        
    
    
    



我不确定这里有什么问题.我在java构建路径中添加了.jar文件.然而,我得到了这个classnotfound异常.我导入android.app.Application时加载应用程序

8 个回答
  • build.gradle文件中删除MultiDexSupport解决了这个问题:

    defaultConfig {
        multiDexEnabled true    // This line was causing above problem
    }
    

    删除MultiDexSupport解决了这个问题

    2023-02-06 15:55 回答
  • 对我来说,这是在运行<Android 5.0的设备上发生的,因为我没有启用multidex支持(这是超过65k的总方法,包括libs).Multidex是Android 5.0+上的自动和原生的(特别是使用ART的设备).

    2023-02-06 15:55 回答
  • 我不确定你的包名是e.gochat什么,但如果是这样的话.

    添加package="e.gochat"到manifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="e.gochat"
        .....
        .....
             >
    

    android:name活动名称前面放置一个点的每个活动声明:

    <activity
        android:name=".MainActivity">
    ............
    </activity>
    
    <activity 
        android:name=".ChatActivity">
    

    编辑

    编辑后我可以看到e.gochat你的包名.
    现在你只需e.gochat要从我在答案的第二部分中所说的每个活动/提供者/接收者名称中删除.
    Android会为您添加.

    2023-02-06 15:55 回答
  • 根据不同的情况,此问题有多个答案。在Android Studio项目中使用库(.aar)时,出现了相同的错误。

    在我的情况下,根本原因是我错过了在.aar文件正在使用的应用程序的build.gradle文件中添加第三方lib依赖项。

    例如:-库(.aar)使用的是“ com.squareup.okhttp3:okhttp:3.4.1”。所以我不得不添加

    编译'com.squareup.okhttp3:okhttp:3.4.1'

    在应用程序的build.gradle中。希望它可以帮助某人。

    2023-02-06 15:55 回答
  • 使用Android Studio

    升级到Android Stuido 0.8.2后,我遇到了这个问题.我尝试了很多东西,包括

    清洁项目

    清洁项目(gradle clean)

    使高速缓存无效并重新启动

    取消AndroidManifest.xml中的活动名称(.MyActivity)

    在重新导入整个项目之前,没有任何工作.

    File -> Close Project -> Import Project... -> Choose the same project -> OK

    这为我修好了

    2023-02-06 15:56 回答
  • 在设备中卸载应用程序并再次运行项目为我修复了它.

    2023-02-06 15:56 回答
  • 这对我造成影响的原因是布局文件中的路径名不正确

    <android.support.v4.app.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_
        android:layout_> 
    
    </android.support.v4.app.view.ViewPager>
    

    ViewPager的正确绝对路径是

    android.support.v4.view.ViewPager
    

    纠正它的工作路径后.我没有必要在活动名称前加上'.'.

    2023-02-06 15:57 回答
  • 我通过禁用android studio的即时运行选项解决了这个问题.禁用即时运行转到文件 - >设置 - >构建,执行,部署 - >即时运行 - >取消选中即时运行复选框

    2023-02-06 15:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有