Android项目依赖项

时间:2012-10-12 01:55:37

标签: android

我需要帮助解决Android SDK中的项目依赖问题。

我有以下项目: “同步”(仅限Java项目) “Agonis”(Android库项目) “Dragonis”(Android应用程序项目)

Agonis对Sync有项目依赖,Dragonis对Agonis有项目依赖,如下所示:

Dragonis-> Agonis->同步

我已正确使用Properties-> Android-> Library对话框将Agonis添加为Android库。我已经在Agonis构建路径设置中导出了Sync项目:

http://i.stack.imgur.com/GsQIR.png

在Dragonis项目中,我在“Android Dependencies”虚拟文件夹中看到了Agonis和Sync:

http://i.stack.imgur.com/EhH8L.png

从这里开始,我希望一切都能正常运转,但事实并非如此。

我可以启动应用程序,但只要我从Agonis项目(com.mob.agonis.AgonisServer)实例化一个类型,我就会得到一个NoClassDefFoundError。如果重要,我试图实例化的Agonis类型扩展了Sync项目中的类型(com.mob.sync.Server)。

我尝试清理所有项目,并使用Android工具 - >在Agonis和Dragonis上修复项目属性无济于事。

我忽略了什么吗?

4 个答案:

答案 0 :(得分:0)

将jar库放在libs文件夹中,并将其添加到java构建的路径中 右键单击文件 - >构建路径 - >添加到构建路径
希望它有所帮助。

答案 1 :(得分:0)

我明白了。

Sync Java-only库正在编译为1.7个Java字节代码。 Android仅支持将Java 1.6字节代码转换为DEX。

滚动到控制台的顶部,小孩。

答案 2 :(得分:0)

您可以通过命令行工具解决此问题。你可以创建/更新Dragonis和Agonis android项目 - 一个作为应用程序,另一个作为库。见http://developer.android.com/tools/projects/projects-cmdline.html

您可以轻松地从D - >设置依赖关系。使用命令行工具,如引用库项目一节中所示。在此阶段,D的构建会自动触发A的构建。

现在修改A的build.xml - 在预编译阶段包含依赖:build和copy Sync.jar(查看build.xml内部以查找占位符)。可以通过使用subant启动子ant进程来完成构建和复制任务。见http://ant.apache.org/manual/Tasks/subant.html

在此阶段,如果触发ant build,则所有依赖项都可以在命令行上正常工作。现在你也可以通过从源代码导入android项目Dragonis来使用eclipse。

答案 3 :(得分:0)

来自" Sync"的项目属性设置" Java编译器" - > " JDK Complience"到1.6。重建并享受!