2012-08-23 79 views
0

我正在建立我的Android项目使用ant(在哈德逊)。我遇到一个错误在Android build.xml文件行388:失败与蚂蚁Android:getType标记

<echo level="info">Project Name: ${ant.project.name}</echo> 
<gettype projectTypeOut="project.type" /> 

这是之前运行,但一些更新打破它,我似乎无法弄清楚如何。 AndroidManifest已更新,并添加了一个新包(实际上是在错误的地方)。

我从这个正确的输出会:

[echo] Project Name: <Application Name> 
[gettype] Project Type: Application 

这个错误

<filepath>/workspace/android_build_files/android-sdk-linux/tools/ant/build.xml:388: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup. 
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239) 
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283) 
at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java:468) 
at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java:515) 
at com.android.ant.GetTypeTask.execute(GetTypeTask.java:85) 
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
at org.apache.tools.ant.Task.perform(Task.java:348) 
at org.apache.tools.ant.Target.execute(Target.java:392) 
at org.apache.tools.ant.Target.performTasks(Target.java:413) 
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
at org.apache.tools.ant.Main.runBuild(Main.java:811) 
at org.apache.tools.ant.Main.startAnt(Main.java:217) 
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
--------------- linked to ------------------ 
javax.xml.xpath.XPathExpressionException 
at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java:473) 
at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java:515) 
at com.android.ant.GetTypeTask.execute(GetTypeTask.java:85) 
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
at org.apache.tools.ant.Task.perform(Task.java:348) 
at org.apache.tools.ant.Target.execute(Target.java:392) 
at org.apache.tools.ant.Target.performTasks(Target.java:413) 
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
at org.apache.tools.ant.Main.runBuild(Main.java:811) 
at org.apache.tools.ant.Main.startAnt(Main.java:217) 
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup. 
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239) 
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283) 
at com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluate(XPathImpl.java:468) 
... 18 more 
+0

你的build.xml应该用“android update project -p。”自动生成。你是用一个旧的build.xml构建的吗? – JonnyBoy

+0

啊,可能!我通过哈德森运行,并没有作为预先构建的步骤。我会看看如果有什么做。 – jbenowitz

+0

我正在运行一个旧的build.xml,但我这样做是为了设置所需的目录并运行一些脚本来获取我的应用程序生产就绪。奇怪的是,即使没有更新,这一切都可以在我的本地机器上运行(在更改属性文件中必需的目录之后)。 – jbenowitz

回答

1

错误在你更新AndroidManifest.xml原因造成的:在gettype任务需要读它,失败由于元素中的一些模糊字符(你最后修改的那个,我猜)。