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

Android活动ClassNotFoundException-尝试了所有内容

柴霖
2023-03-14

我刚刚将一个应用程序重构为一个框架库和一个应用程序,但现在当我尝试在模拟器中启动该应用程序时,我得到了以下错误堆栈跟踪:

06-02 18:22:35.529: E/AndroidRuntime(586): FATAL EXCEPTION: main
06-02 18:22:35.529: E/AndroidRuntime(586): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.matthewrathbone.eastersays/com.matthewrathbone.eastersays.EasterSimonSaysActivity}: java.lang.ClassNotFoundException: com.matthewrathbone.eastersays.EasterSimonSaysActivity in loader dalvik.system.PathClassLoader[/data/app/com.matthewrathbone.eastersays-1.apk]
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.os.Looper.loop(Looper.java:123)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread.main(ActivityThread.java:4627)
06-02 18:22:35.529: E/AndroidRuntime(586):  at java.lang.reflect.Method.invokeNative(Native Method)
06-02 18:22:35.529: E/AndroidRuntime(586):  at java.lang.reflect.Method.invoke(Method.java:521)
06-02 18:22:35.529: E/AndroidRuntime(586):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-02 18:22:35.529: E/AndroidRuntime(586):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-02 18:22:35.529: E/AndroidRuntime(586):  at dalvik.system.NativeStart.main(Native Method)
06-02 18:22:35.529: E/AndroidRuntime(586): Caused by: java.lang.ClassNotFoundException: com.matthewrathbone.eastersays.EasterSimonSaysActivity in loader dalvik.system.PathClassLoader[/data/app/com.matthewrathbone.eastersays-1.apk]
06-02 18:22:35.529: E/AndroidRuntime(586):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-02 18:22:35.529: E/AndroidRuntime(586):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-02 18:22:35.529: E/AndroidRuntime(586):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-02 18:22:35.529: E/AndroidRuntime(586):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
06-02 18:22:35.529: E/AndroidRuntime(586):  ... 11 more

通常这意味着清单文件在某些方面是错误的,但我已经仔细检查了我能想到的一切。

这是我的活动课:

package com.matthewrathbone.eastersays;

import android.os.Bundle;

import com.rathboma.simonsays.Assets.Season;
import com.rathboma.simonsays.SeasonPicker;
import com.rathboma.simonsays.SimonSaysActivity;

    public class EasterSimonSaysActivity extends SimonSaysActivity {

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      }

      @Override
      protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
      }

      @Override
      public SeasonPicker getSeasonPicker() {
       return new SeasonPicker(){
        @Override
        public Season getSeason() {
          // TODO Auto-generated method stub
          return Season.EASTER;
        }
       };
      }
    }
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.matthewrathbone.eastersays"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".EasterSimonSaysActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    null

共有1个答案

周宏胜
2023-03-14

我花了一些时间在我自己的项目上,当我试图运行我的主项目时,我能够复制您的问题并获得完全相同的异常堆栈跟踪,所以我认为这可能是原因:

就像我想的一样,它是关于如何在Android main project中引用您的Android库项目,一个简单的Eclipse配置设置。

错误的方法:
右键单击main project,选择Properties->Java Build Path->Projects->add...,这样将Android库项目作为依赖项目添加到Android main project的构建路径中,这是行不通的。如果在main project中定义了所有所需的Android相关资源,在编译时不会出现任何错误,但在运行应用程序时,会出现问题中描述的异常。

 类似资料:
  • 问题内容: 我刚刚将应用重构为框架库和应用,但是现在当我尝试在模拟器中启动该应用时,我得到了以下错误堆栈跟踪: 通常,这意味着清单文件在某种程度上是错误的,但是我已经仔细检查了所有我能想到的内容。 这是我的活动课: 如你所见,清单中正确列出了它: 我不知道如何解决此问题,将不胜感激。我在SO上扫描了许多类似的问题,却没有看到这种特殊的行为。 更多信息: 我已经检查了生成的APK,并且该类在clas

  • 问题内容: 在Python模块中,和用于分别标识左,中和右按钮的鼠标单击。 同样,用于返回键的按下。 在哪里可以找到所有此类事件的列表,包括各种键盘键的名称? Tcl绑定手册没有那些。 问题答案: 可以在effbot.org或New Mexico Tech提供 的文档中找到有关绑定和事件的常规列表,而此处除了原始文档之外,还列出了几个键的名称。 以下是最常见事件的摘要,并解释了一些按键名称:

  • 在执行Cassandra操作(批量执行-在两个表上插入和更新操作)时,我收到“所有主机都尝试查询失败-com。数据。驱动程序。核心。操作时间异常”错误。 群集信息: 卡桑德拉 2.1.8.621 |DSE 4.7.1 火花-卡桑德拉-连接器-java_2.10 版本 - 1.2.0-rc1 | 卡桑德拉驱动器核心版本 - 2.1.7 火花 1.2.1 |Hadoop 2.7.1 = 在搜索它的解决

  • 前提条件: AndroidQ 问题一: 我在前台有一个视图,当用户单击该视图时,我尝试在android Q中启动一个活动。 以下是我的代码。 它不工作,也不会发生碰撞。我有一些日志。 D ActivityTaskManagerServiceInjector: MIUILOG-权限拒绝活动:意图... 问题2: 我有一个TileService,当用户单击状态栏中的图标时,我尝试启动一个活动 雄激素单

  • 如何在所有活动中显示我的导航抽屉 在android studio中创建了一个新项目并有了导航抽屉活动后,我运行了它,但它没有显示在我的所有活动中。(我没有添加任何代码,只是创建活动并运行它)。我想知道如何在所有活动中显示导航抽屉,有什么办法吗?

  • 问题内容: 我在我的App中有不同之处,在所有这些方面,我都不需要。我找不到如何禁用它。我试图找到一个属性将其应用于,但到目前为止我什么都没找到。有人可以帮我吗? 问题答案: 哈哈,我刚才也被困在这一点上,所以很高兴我可以为您提供解决方案,至少对我有用:) 您想要做的是在values / styles.xml中定义一个新样式,如下所示 只有NoActionBar样式对您来说才有意义。最后,您必须在