Android ADT 22多个图书馆问题

Android ADT 22多个图书馆问题,android,adt,Android,Adt,我有一个这样的安排: NativeLibrary CommonJavaComponents | | | | | | | | | FunctionalLibrary1 | | | | ----------Project--------- 开始有点复杂,但这是我最简单的设置之一 NativeLibrary包含.so文件

我有一个这样的安排:

NativeLibrary    CommonJavaComponents
   |      |            |      |
   |      |            |      |
   |     FunctionalLibrary1   |
   |            |             |
    ----------Project---------
开始有点复杂,但这是我最简单的设置之一

  • NativeLibrary
    包含.so文件和jni JAR
  • CommmonJavaComponents
    包含定制的活动/片段祖先和android-support-v13.jar
  • FunctionalLibrary1
    使用上述两种功能,并提供项目中使用的额外功能
  • 项目
    直接引用所有3个项目
我通过导出“Android私有库”成功地编译了所有内容

不幸的是,在我的设备上,我发现:

05-22 16:52:50.110: W/dalvikvm(3215): Unable to resolve superclass of Lcom/test/library/common/activity/LoggingActivity; (50)
05-22 16:52:50.110: W/dalvikvm(3215): Link of class 'Lcom/test/library/common/activity/LoggingActivity;' failed
LoggingActivity
存在于
CommonJavaComponents
中,并从android-support-v13.jar扩展
FragmentActivity

有人知道我需要表演什么魔术吗?或者ADT 22只是被彻底破坏了

编辑

为了简洁起见:


NativeLibrary、CommonJavaComponents和FunctionalLibrary1都导出了Android私有库<代码>项目引用了所有三个,它编译了,但仍然显示上述错误。

卸载应用程序并重新安装似乎已经修复了它。Android/Eclipse似乎无法在更改其依赖库的导出设置时看到更改,因此无法正确重建或重新安装

为了确认,工作设置包括
Project
直接引用每个依赖库作为
Android库
。每个项目(甚至包括
Project
,尽管这不会影响任何事情)都使用导出Android私有库


与ADT 16的更新一样,这本应该包含一个大的闪烁警告:“这将破坏您的项目设置-请等待,直到您不在发布周期内。”我还获得了ARCA的ClassNotFoundException。ACRA jar位于我们的一个核心库项目中,并从该中心导入到应用程序项目中

在我的情况下,在设备上卸载和安装应用程序(按照Graeme的建议)并没有改变任何事情。如果是这种情况,这将使应用程序用户无法更新,ADT 22将无法用于生产使用

我可以在几个项目中找到这个问题,因为我们将jar文件显式地添加到Java构建路径中。这种2011年风格的处理libs文件夹中jar的习惯(我猜是在adt17之前)在我们的应用程序中的许多地方都保留了下来

通过简单地用以下内容替换和标准化库项目的所有.classpath文件,我成功地使用ADT 22和tools 17运行了项目:


所有jar文件都将被删除,“私有库”必须像许多其他人之前所说的那样导出

这已通过API target 17项目进行了测试:

android.library=true
target=android-17
如果您发现仍然存在问题,请尝试对根应用程序项目(即您尝试运行的非库项目)执行相同的操作


需要补充的一点是:在您成功编译并运行应用程序之后,在更新libs文件夹中的jars之后,您可能会在eclipse的“Problems”视图中看到:

The container 'Android Private Libraries' references non existing library '.../FINARXAndroidWidgets/libs/jackson-core-2.1.1.jar'
用户无法编辑库变量的内容。唯一帮助我的是重新启动eclipse


不好的是,在其他人的工作区中进行SVN/GIT更新后,也可能会发生这种情况。

为所有项目导出Android私有库,而不仅仅是库项目。感谢您的回答,但我已经尝试过了-导出一路向下,只引用最后一个祖先,引用所有三个,并且仅从基2导出并引用所有三个。不可以:/To fair-即使是在测试无关功能的空白项目上,我也遇到了“java.lang.ClassNotFoundException”问题,除了单个活动和几个片段之外,它既不涉及库项目也不涉及任何内容。我强烈建议不要安装ADT 22!!转到@Subra是的,我看到你可以导出:)ADT r22在地狱里仍然损坏:)对我有用的东西<代码>唯一帮助我的是重新启动eclipse。嘿,你在最后提到的库变量内容有问题。重启eclipse成功了!