当前位置: 首页 > 知识库问答 >
问题:

在OSX中使用ANT构建Android应用会导致NullPointerException

仇龙光
2023-03-14

我运行以下命令(它是一个lib项目,但我也在常规项目中得到它):

android update lib-project -t "android-16" -p whatever_my_project_is
ant clean debug -v -d -f "${WORKSPACE}/whatever_my_project_is/build.xml"
 /Users/Shared/Jenkins/Home/jobs/Androidyaddayadda 1/workspace/whatever_my_project_is/yadda/yadda/R.java
    [javac] An exception has occurred in the compiler (1.6.0_33). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
    [javac] java.lang.NullPointerException
    [javac]     at com.sun.tools.javac.comp.Check.checkCompatibleConcretes(Check.java:1213)
    [javac]     at com.sun.tools.javac.comp.Check.checkCompatibleSupertypes(Check.java:1565)
    [javac]     at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:2674)
    [javac]     at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2628)
    [javac]     at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2584)
    [javac]     at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2564)
    [javac]     at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1045)
    [javac]     at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:768)
    [javac]     at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:730)
    [javac]     at com.sun.tools.javac.main.Main.compile(Main.java:353)
    [javac]     at com.sun.tools.javac.main.Main.compile(Main.java:279)
    [javac]     at com.sun.tools.javac.main.Main.compile(Main.java:270)
    [javac]     at com.sun.tools.javac.Main.compile(Main.java:69)
    [javac]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [javac]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [javac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [javac]     at java.lang.reflect.Method.invoke(Method.java:597)
    [javac]     at org.apache.tools.ant.taskdefs.compilers.Javac13.execute(Javac13.java:56)
    [javac]     at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1134)
    [javac]     at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912)
    [javac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    [javac]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [javac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [javac]     at java.lang.reflect.Method.invoke(Method.java:597)
    [javac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    [javac]     at com.android.ant.IfElseTask.execute(IfElseTask.java:120)
    [javac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    [javac]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [javac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [javac]     at java.lang.reflect.Method.invoke(Method.java:597)
    [javac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac]     at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    [javac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    [javac]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [javac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [javac]     at java.lang.reflect.Method.invoke(Method.java:597)
    [javac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac]     at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    [javac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    [javac]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    [javac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [javac]     at java.lang.reflect.Method.invoke(Method.java:597)
    [javac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [javac]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [javac]     at org.apache.tools.ant.Target.execute(Target.java:390)
    [javac]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
    [javac]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    [javac]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    [javac]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [javac]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    [javac]     at org.apache.tools.ant.Main.runBuild(Main.java:809)
    [javac]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
    [javac]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    [javac]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

共有1个答案

拓拔高畅
2023-03-14

这似乎是java中的一个bug

根据Bug报告,这应该在Java1.7中得到修复,而不是在1.6或1.5中。

 类似资料:
  • 导入一个Ant构建 你可以在你的gradle项目中通过ant.importBuild()来导入一个ant构建,当你导入了一个ant构建,每一个ant target都会被视为一个Gradle任务.这意味着你可以像操作,执行gradle任务一样操作,执行ant target 例 16.8.导入ant构建 build.gradle ant.importBuild 'build.xml' build.xm

  • 在构建中使用自定义Ant任务 为了让你的构建可以自定义任务, 你可以使用 taskdef(通常更容易) 或者 typedef Ant 任务, 就像你在一个build.xml文件中一样. 然后,你可以参考内置 Ant 任务去定制 Ant 任务. 例 16.5.使用自定义 Ant 任务 build.gradle task check << { ant.taskdef(resource: 'ch

  • 问题内容: 我正在尝试从ANT任务编写脚本。这个脚本做了一些svn-stuff,然后应该设置outputproperty : 我想使用此属性在jenkins的构建后步骤中通过电子邮件将其发送给某些收件人,但是我似乎无法在Jenkins中使用它。我从中收到的邮件仅作为内容。 不知道这是否有帮助,但是在我的ANT脚本的顶部,我用 我做过的另一种方法是通过将我的属性声明为并分别设置exec目标的输出属性

  • 16.1.使用 Ant 任务和 Ant 类型的构建 在构建脚本中, Ant 属性是由 Gradle提供的. 这是一个用于参考的 AntBuilder 实例. AntBuilder 用于从构建脚本访问 Ant 任务, 类型和属性. 下面的例子解释了从 Ant 的 build.xml 格式到 Grooy 的映射. 你可以通过调用 AntBuilder 实例的方法执行 Ant 任务. 你可以使用任务名称

  • 我有一个中等大小的Spring应用程序。当我重构一些loc时,我注意到以下行为: 事实上,注入工作正常: 当我尝试使用构造函数注入时,环境为空,我的应用程序告诉我,由于循环引用,它无法创建配置bean: 在堆栈的某个地方: 原因:org.springframework.beans.factory.Bean货币InCreationException:创建名为appConfig的bean时出错:请求的

  • 问题内容: 我正在尝试使用Gradle命令行界面构建我的Android应用。我还将 GRADLE_HOME / bin 添加到环境中。首先,我使用gradle init生成了包装,gradlew在我的项目文件夹中。现在,当我使用此包装程序构建我的应用程序( ./gradlew build )或使用其任何功能时,它尝试下载gradle-2.3.zip文件并失败(以下错误消息)。我不明白的是为什么gr