如何引用Android库项目中的类

时间:2011-11-15 08:24:22

标签: android android-manifest classnotfoundexception

我正在尝试分叉我的Android应用程序,并且由于我的other question here使用了一个库项目而找到了一个方法。它对drawables和String资产工作得很好。但现在我遇到了一个问题。

我有一个扩展Application的类(不是一个活动)。我将这个类移到我的库项目中,并希望将它用于我的两个派生应用程序中的主应用程序类(直接在主应用程序中工作正常)。

说我的库是my.project.library,我的应用程序使用的库是my.projectmy.project的清单中,我指定了以下内容:

<application android:name="my.project.library.AppClass">

它编译和部署很好,但是当我尝试运行它时,它强制关闭,但有以下异常:

11-15 03:14:25.707: E/AndroidRuntime(16800): java.lang.RuntimeException: Unable to instantiate application my.project.library.AppClass: java.lang.ClassNotFoundException: my.project.library.AppClass in loader dalvik.system.PathClassLoader[/data/app/my.project.apk]

从我从图书馆导入的drawables中,似乎图书馆内容被内嵌到主应用程序中。所以我尝试将我的清单改为:

<application android:name="my.project.AppClass">

但我仍然得到同样的错误。

如何在主应用程序中引用库中的类作为我的Application类?

2 个答案:

答案 0 :(得分:1)

我认为你没有描述你在清单中使用的库,所以你需要在清单中添加这样的东西。

<uses-library android:name="my.project.library" />

答案 1 :(得分:1)

您的原始参考文献是正确的。

那是:

<application android:name="my.project.library.AppClass">

听起来您没有正确引用库项目,请参阅http://developer.android.com/guide/developing/projects/projects-eclipse.html引用库项目部分。