当前位置: 首页 > 知识库问答 >
问题:

Android 和 Eclipse - java.lang.noClassDef发现项目依赖关系错误

谭俊
2023-03-14

我试图在一个项目中构建一个抽象类作为模板,并在另一个项目中将其实现。但是,当尝试运行实现模板活动的活动时,会弹出NoClassDefFoundError。我已经将模板项目添加到另一个项目的Java构建路径中,在“Order and Export”中检查它,清理项目,但没有任何帮助。我还尝试使用1.6编译器编译项目。所有结果都是相同的错误。当试图将模板项目添加为JAR时,Eclipse表示存在清单文件的副本,并且不允许这样做。

有人知道我还能做什么来解决这个问题吗?

这是我收到的错误日志:

04-05 00:29:09.941: E/AndroidRuntime(1348): FATAL EXCEPTION: main
04-05 00:29:09.941: E/AndroidRuntime(1348): java.lang.IllegalStateException: Could not execute method of the activity
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.view.View$1.onClick(View.java:2144)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.view.View.performClick(View.java:2485)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.view.View$PerformClick.run(View.java:9080)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.os.Handler.handleCallback(Handler.java:587)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.os.Looper.loop(Looper.java:123)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.app.ActivityThread.main(ActivityThread.java:3683)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at java.lang.reflect.Method.invokeNative(Native Method)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at java.lang.reflect.Method.invoke(Method.java:507)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at dalvik.system.NativeStart.main(Native Method)
04-05 00:29:09.941: E/AndroidRuntime(1348): Caused by: java.lang.reflect.InvocationTargetException
04-05 00:29:09.941: E/AndroidRuntime(1348):     at java.lang.reflect.Method.invokeNative(Native Method)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at java.lang.reflect.Method.invoke(Method.java:507)
04-05 00:29:09.941: E/AndroidRuntime(1348):     at android.view.View$1.onClick(View.java:2139)
04-05 00:29:09.941: E/AndroidRuntime(1348):     ... 11 more
04-05 00:29:09.941: E/AndroidRuntime(1348): Caused by: java.lang.NoClassDefFoundError:  scf1984.games.testQuest.TestQuestActivity
04-05 00:29:09.941: E/AndroidRuntime(1348):     at scf1984.games.testQuest.TestMainActivity.startTestQuest(TestMainActivity.java:18)
04-05 00:29:09.941: E/AndroidRuntime(1348):     ... 14 more

清单呢:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="scf1984.games.testQuest"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="scf1984.games.testQuest.TestMainActivity"
        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="scf1984.games.testQuest.TestQuestActivity"
        android:label="@string/app_name" >

    </activity>
</application>

</manifest>

调用方法:

    public void startTestQuest(View v) {
    Intent i = new Intent(this,
            scf1984.games.testQuest.TestQuestActivity.class);
    startActivity(i);
}

共有3个答案

终安和
2023-03-14

Intent Intent =(Intent)new Intent();

intent.setClassName(包名、包名类);

启动活动(意图);

试试这个

徐奇
2023-03-14

很可能您错过了Android清单中的活动声明。您应该pastebin完整的错误和您的AndroidManifest.xml

慕容弘懿
2023-03-14

您需要将您的“模板项目”标记为Android库项目。转到项目-

 类似资料:
  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间

  • 我有一个J2ee项目,它使用了诸如Jsf、EJB、持久性API等技术。但是我怎么知道这些模块需要的wich版本。例如: 现在,我在maven中央存储库中查找这些信息:GroupId、ArtifactID和最新版本。但有一个更简单的方法做到这一点?

  • 为了在我的spring boot项目上运行单元测试,我尝试使用JUnit和Mockito,但是很难找到如何在我的gradle项目的build.gradle文件中设置依赖项。下面是build.gradle文件: 现在我得到的错误是“不能解析org.Mockito:mockito-core:3.6.48”,我甚至不知道是否从https://github.com/Mockito/Mockito/rele

  • 我确实尝试了以下建议的步骤,但没有成功。我甚至在StackOverflow和github中尝试卸载nodejs和重新安装以及许多其他建议。有人能帮帮我吗? 项目依赖关系树可能有问题。这可能不是CreateReact应用程序中的错误,而是您需要在本地修复的错误。 创建反应应用程序提供的反应脚本包需要一个依赖项:"Babel-eslint":"^10.1.0" 不要尝试手动安装:您的软件包管理器会自动

  • 问题内容: 这个问题是关于Eclipse开发的,我试图在Eclipse中创建一个Web应用程序,问题是我没有将依赖项jar保存到已部署的归档文件中。 我创建了一个新的动态Web项目,并将其链接到另一个Java项目。Java项目引用了一些第3方jar(例如Spring jar),但是由于某些原因,在发布Web项目时,我在战争的lib目录中仅得到Java项目jar,而没有Java项目依赖项(例如Spr

  • 我希望使用Gradle构建我的基于Groovy/Grails的项目,我们使用IntelliJ Idea作为IDE。 我使用的是IntelliJ 11.1.4版本,Gradle 1.2版本。 我的项目被配置为包含各种Groovy&Grails子项目的多项目构建。 我希望这将为我提供与通过Maven管理构建时相同的IDE支持,例如: 自动依赖关系管理(将新的依赖关系添加到各种Build.Gradle时