【问题标题】:java.lang.ClassNotFoundException: Didn't find class *.*.MainActivity with newrelicjava.lang.ClassNotFoundException:没有找到类 *.*.MainActivity 与 newrelic
【发布时间】:2026-01-03 11:10:01
【问题描述】:

我正在创建一种具有多个依赖项的复杂应用程序,我使用 newrelic 一段时间没有问题,之后我想将 ZenDesk 添加到应用程序中,但是在初始化 SDK 时,我收到了一个新的遗物错误太奇怪了!为了测试,我尝试从应用程序中完全删除 newrelic,所以我从 gradle 文件中删除了 compile 'com.newrelic.agent.android:android-agent:5.3.1'

该应用程序现在根本无法运行!它在开始显示标题中的错误时崩溃: java.lang.ClassNotFoundException: Didn't find class *.*.MainActivity

当我将 newrelic 添加回来时,应用程序又开始工作了!

我试图对问题进行一些挖掘,但我发现很少有关于停止 gradle 和清理项目的建议,所以说问题可能是 gradle 现金左右,我尝试了一切,我什至在另一台机器上尝试过,问题依旧!

有什么想法有什么问题吗??

编辑:

清单

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:supportsRtl="true">
        <activity
            android:name="com.myapp.Main.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    </application>

</manifest>

【问题讨论】:

  • ./gradlew --stop ./gradlew --refresh-dependencies 总能解决问题。您是否尝试过刷新依赖项?
  • 我删除了整个文件夹,它确实重新安装了所有东西,我尝试了 gradle stop,仍然一样,没有 newrelic 它崩溃了
  • 我没有尝试但是命令 refresh-dependencies
  • @HassanKhallouf 你能出示你的清单吗?
  • 我将清单添加到编辑中

标签: android newrelic zendesk


【解决方案1】:
android:name="com.myapp.Main.MainActivity"

我猜是错的

会的

android:name="com.orderme.MainActivity"

Java 虚拟机抛出 ClassNotFoundException (JVM) 试图加载一个特定的类并且指定的类不能 可以在类路径中找到。 ClassNotFoundException 已检查 异常,因此,必须在方法或构造函数中声明 throws 子句。

有什么办法

  1. 验证请求的类的名称是否正确,并且 适当的 .jar 文件存在于您的类路径中。如果没有,你必须 将其显式添加到应用程序的类路径中。
  2. 如果指定的 .jar 文件存在于您的类路径中,您的 应用程序的类路径被覆盖,您必须找到 您的应用程序使用的确切类路径。
  3. 如果异常是由第三方类引起的,你必须 识别引发异常的类,然后添加 在您的类路径中缺少 .jar 文件

Eclipse - java.lang.ClassNotFoundException

【讨论】:

    【解决方案2】:

    与往常一样,解决方案在编程时 99% 都是愚蠢的 XD

    在我的 gradle 文件的顶部是这样的: apply plugin: 'newrelic'

    我刚刚删除了这一行,它现在可以工作了。

    【讨论】:

    • 有时会发生。继续前进
    • 你不会相信,它也发生在我身上,同样的问题与顶部的新遗物插件。