【问题标题】:Force close before onCreate, activity class not found exception在onCreate之前强制关闭,找不到活动类异常
【发布时间】:2012-05-15 18:19:42
【问题描述】:

我刚开始在 android 1.5 上测试我的应用程序,它根本不想运行。我的主要活动的 onCreate 中有一个断点,但在到达该断点之前我得到了一个 ClassNotFound 异常。未找到的课程似乎是我的主要活动课程。异常发生在: ActivityThread.performLaunchActivity

它在 1.6 及更高版本上运行良好,所以我假设我正在使用 1.5 不支持的东西。但是我怎样才能知道它是什么?任何有关如何调试的提示将不胜感激。

谢谢。

【问题讨论】:

标签: android


【解决方案1】:

如果您已导入 jar,请验证它们是否在 /libs 目录中而不是 /lib 目录中,并且它们是作为 jars 而不是作为外部 jars 导入的

【讨论】:

    【解决方案2】:

    我今天也遇到了同样的问题。很难确定哪个类不受支持。堆栈跟踪并没有真正阐明它,它只是给出了一些误导性的信息,即找不到您的活动类。我使用的几个我知道不在 Android 1.5 中的 API 是: - 蓝牙(2.0 及以上) - 文字转语音(1.6 及更高版本)

    我遇到了这个问题,因为我在我的应用中添加了对文本到语音的支持,并且没有考虑先检查文档以确保 Android 1.5 支持文本到语音。得知它仅在 Android 1.6 中添加时,我感到很沮丧。为了解决这个问题,我必须做几件事:

    • 从我的活动中删除“import android.speech.tts.*”
    • 创建镜像文本到语音 API 的包装类,并从那里调用真实的文本到语音类。
    • 将 if 语句放在对我的包装类的调用周围,以确保我仅在 Android SDK 级别为 1.6 或更高版本时才调用它。您可以通过检查 android.os.Build.VERSION.SDK 来检查 Android SDK 级别
    • 在您的 Android 电子市场列表中,指明文本转语音功能仅在您安装了 Android 1.6 或更高版本时可用。

    这种方法的好处是,当我决定放弃对 Android 1.5 的支持时,我可以轻松地将对包装类的调用更改为直接调用文本到语音 API 并删除包装类。

    我为我的蓝牙代码做了类似的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      相关资源
      最近更新 更多