1

我们有一个ANT构建过程,可以一次构建我们所有的 android 项目。它完全基于 android 鼓励的构建过程。

我们切换到 ADT20,当我们构建release. 在-build-setup.

我们release使用ant.properties包含key.store、和. key.alias_key.store.passwordkey.alias.password

它失败并出现以下错误:

C:\PATH\android-sdks\tools\ant\build.xml:546: java.lang.NullPointerException

这就是它在没有-debug旗帜的情况下所说的一切。

有了-debug旗帜,我得到了这个:

C:\PATH\android-sdks\tools\ant\build.xml:546: java.lang.NullPointerException
    at org.apache.tools.ant.taskdefs.Exit.execute(Exit.java:164)
    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.taskdefs.Sequential.execute(Sequential.java:68)
    at net.sf.antcontrib.logic.TryCatchTask$CatchBlock.execute(TryCatchTask.java:137)
    at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:225)
    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:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    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:809)
    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)
4

3 回答 3

1

甚至这个问题也已经得到了回答。我正在发布我曾经遇到过的这个问题的解决方案。

  1. 删除/gen/bin目录的内容
  2. 重建项目

这对我有用。

于 2014-01-28T06:45:26.493 回答
0

我的构建过程遇到了同样的问题。我的解决方案只是用版本 19 替换 sdk 的工具目录,它工作正常。我可能会重新访问它并更新到 20 并稍后修复它。

于 2012-10-06T21:16:25.633 回答
0

为了解决这个问题,我将属性按特定顺序排列:

key.store

key.alias

key.store.password

key.alias.password

我在文件底部取出了所有额外的空白ant.properties

这在旧版本的ADT. 不知道是什么改变使它失败。但是重新排序属性并删除空格解决了这个问题。

我希望这对将来的其他人有所帮助,因为我花了 10 个小时试图追踪这个问题。如果有更好的错误详细信息来自ANT.


我使用了这段ANT代码来确保空白已经消失。

    <replaceregexp
        file="${dirName}/../ant.properties"
        match="\s*"
        replace=""
        byline="true">
    </replaceregexp>
于 2012-07-18T16:03:59.573 回答