3

我做了以下事情:

  1. 在 Eclipse 中创建一个工作的 Android 项目(不是库或测试项目)。它有一个名为 X 的包和一个活动 XA
  2. 在上述项目中创建一个新的 Java 包 Y,其中至少包含一个类 YC
  3. 从 XA 中调用 YC(即,从以前工作的原始包中调用新包中的某些内容)。
  4. 构建并运行 Android 项目。

它构建得很好,但是使用 YC 在第一行抛出 NoClassDefFoundError ,说它找不到 YC 当我重构 -> 将 YC 移动到包 X 中(所以它现在是 XC ),不再抛出运行时异常。怎么了?

模糊提示:我已经读过当构建时和运行时类路径以某种方式不同步时可能会发生类似的问题,但我还没有找到如何解决或解决问题。

4

1 回答 1

2

AndroidManifest.xml定义活动时,您必须为驻留在子包甚至另一个包中的活动设置完全限定的类名。

一个完全限定的类名就像com.example.my.cool.app.Activity. 或者,当您只使用子包时,您可以将它设置为android:name=".app1.AnotherActivity"当您的基本包看起来像这样时com.example.my.cool

于 2010-11-26T23:58:54.333 回答