Android Library Project - 在运行时无法从库项目中找到类?

时间:2011-04-29 20:37:58

标签: android

我正在尝试创建一个android库项目,这样我就可以使用共享代码创建我的应用程序的精简版和完整版。按照这里的指示:

http://developer.android.com/guide/developing/projects/projects-eclipse.html
http://blog.donnfelker.com/2010/08/05/howto-android-full-and-lite-versions/

运行我的lite版本会在运行时抛出ClassNotFoundException,因为它无法从共享项目中找到活动类。就好像项目链接(属性 - > java构建路径 - > projects - > add)实际上并不包含运行时的任何.class文件。

其他人遇到此问题?我不想从我的库项目中导出.jar,因为使用这个其他方法我们可以共享活动,这是理想的。我的“lite”项目的清单,它引用了库项目活动:

<application 
  android:name="com.me.test.lib.App">
  <activity 
    android:name="com.me.test.lib.ActivityMain" >

找不到作为库项目一部分的App类或ActivityMain类。

由于


异常 - ComponentInfo中的路径看起来是错误的,它应该嵌套吗?

04-29 16:49:01.759: ERROR/AndroidRuntime(2349): 
  java.lang.RuntimeException: Unable to instantiate activity
  ComponentInfo{
    com.me.test.lite/com.me.test.lib.ActivityMain}: 
    java.lang.ClassNotFoundException: com.me.test.lib.ActivityMain 
    in loader dalvik.system.PathClassLoader[/data/app/com.me.test.lite-2.apk]

1 个答案:

答案 0 :(得分:13)

尝试访问我的工具包库中的Activity时出现此问题。确保使用库的项目将任何活动放在其自己的清单中。该工具包实际上并未在其清单中指定活动。听起来你做的那一部分是正确的。为android项目链接库与java项目不同。

对于图书馆项目

右键单击Eclipse项目,选择Properties。转到Android标签。选中“Is Library”框

使用图书馆的应用程序

右键单击Eclipse项目,选择Properties。转到Android标签。添加库项目作为参考