将Android库项目添加到Android项目中会阻止Ant构建。

20

我要将一个Android库项目(在本例中为Beintoo)添加到我的Android应用中。这不是我的项目,而是外部库。但是,它没有提供build.xml文件。在Eclipse中构建可以正常工作,但是当我尝试使用ant构建我的应用程序时,出现以下错误:

BUILD FAILED
C:\Sandbox\MyProject\build.xml:110: The following error occurred while executing this line:
C:\Sandbox\MyProject\build.xml:41: The following error occurred while executing this line:
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:515: Invalid file: C:\Git\Beintoo-Android\beintoo-android-sdk\BeintooSDK\build.xml

完全正确。文件无效,因为它不存在。我不知道如何安全地添加它,也不确定这是否是一个好主意。

我已经学到不能简单地将库项目构建成jar文件。如何在Ant中使用该库项目来构建我的项目?

3个回答

32

好的,所以,错误454的答案接近正确,但并不完全正确。从Android Tools的r14版本开始,每个库项目必须有自己的build.xml文件,如果要使用Ant进行构建,如此注明:

https://groups.google.com/forum/?fromgroups#!topic/adt-dev/Z2e3dY-3Ma0

在库项目上运行android update lib-project(正如Error 454所指出的,在android-sdk/tools文件夹中且应该在PATH中)将添加一个通用的build.xml,并允许主项目进行构建。


3
很好的回答!更具体地说,我必须在库项目内运行“android update lib-project -p .”,这将生成build.xml和proguard-project.txt文件。 - runamok

19

对于库项目,您需要浏览到库项目根目录并运行:

android update lib-project -p .

android可执行文件在 Android SDK/tools 文件夹中,应该将其添加到操作系统的路径变量中。一旦运行此文件,将生成必要的构建文件,然后您的 ant 构建应该成功。

同样地,如果您的根项目没有必要的构建文件,则需要浏览到主项目根目录并运行:

android update project -p .

我发现并运行了“android update lib-project”命令来更新库项目,这似乎有所帮助,但并没有完全成功。在应用程序上执行您的解决方案会抛出NullPointerException异常,因此在我解决该问题之前,我无法确定它在正常情况下是否成功。 - AlbeyAmakiir

2
除了前两个正确的答案,我还需要加上--target android-16,因为我遇到了“错误:项目没有设置目标或目标无效”的问题。
所以在我的情况下,命令应该是这样的:
android update lib-project -p . --target android-16

已完成。(根据需要替换16)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接