【问题标题】:NoClassDefFoundError when accessing library project's classes访问库项目的类时出现 NoClassDefFoundError
【发布时间】:2012-04-11 11:44:46
【问题描述】:

我已使用 Eclipse 通过在其 android 属性中将“Is Library”设置为 true,将现有的 android 项目(例如 App1)转换为 android 库项目。 然后在我的另一个项目(比如 App2)中,我通过在其库引用中添加 App1 使用 eclipse 添加了这个库项目。 在 App2 中,我尝试启动 App1 的活动。 我在 App2 的清单文件中提到了这个活动。

Intent intent = new Intent(TestActivity.this, ForYouActivity.class);
TestActivity.this.startActivityForResult(intent, 1);

但是当我运行应用程序时,我得到一个错误

E/AndroidRuntime(2489): java.lang.NoClassDefFoundError: com.test.activities.ForYouActivity

请帮我解决这个问题。 提前致谢

【问题讨论】:

  • 感谢您回复@Frankenstein。我正在使用 ADT 16。我尝试在我的项目中添加一个名为“libs”的文件夹,并将我的库项目 jar 放入其中,......但我得到了同样的错误。

标签: android eclipse noclassdeffounderror android-library


【解决方案1】:

确保您的库项目 .jar 文件位于“Android Dependencies”文件夹中。 之前回答过类似的问题,希望对你有帮助:https://stackoverflow.com/a/9820881/518949

【讨论】:

  • 感谢@Freddman 提供该帖子链接...我尝试了其中提到的步骤。在我的项目中创建了一个名为“libs”的文件夹,并将外部 .jar 放在该文件夹中。但 ADT 并未将它们置于“Android 依赖项”之下。这些 jars 原样保留在 libs 文件夹中。然后我添加回我的图书馆项目。我又遇到了同样的错误!
  • 奇怪,你运行的是哪个 ADT/SDK 版本?
  • ADT 版本 16、Android SDK 版本 2.2 和 Eclipse helios
  • 好的,尝试将您的 SDK/ADT 更新到 18 并重试。我之前的回答是解决 ADT 17+ 中的问题。如果您正在运行
  • 是的...我的图书馆项目将进入“参考图书馆”文件夹。我现在已经能够解决这个问题了。我试图从我的项目启动的库项目活动将扩展到 FragmentsActivity。当我将项目的调用活动更改为延伸到 FragmentsActivity.. 问题得到解决!
猜你喜欢
  • 1970-01-01
  • 2012-04-18
  • 2012-07-17
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 1970-01-01
  • 2017-07-04
  • 2011-10-09
相关资源
最近更新 更多