简体   繁体   English

使用Ant构建Android应用时遇到错误

[英]Encountered Error when Building Android App with Ant

I have an android project and I use android update project -p . 我有一个android项目,并使用android update project -p。 --target 12 to generate build.xml script. --target 12生成build.xml脚本。 Once this is done, I use ant to build the project. 完成此操作后,我将使用ant来构建项目。 However, I encountered this error log: 但是,我遇到此错误日志:

BUILD FAILED
/Users/sean/Downloads/GameSample/build.xml:90: The following error occurred while executing this line:
/Users/sean/local/adt/sdk/tools/ant/build.xml:111: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(Z)V
    at com.google.common.collect.Maps.capacity(Maps.java:105)
    at com.google.common.collect.Sets.newHashSetWithExpectedSize(Sets.java:181)
    at com.android.ant.RenderScriptTask.<clinit>(RenderScriptTask.java:59)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:579)
    at org.apache.tools.ant.taskdefs.Definer.loadProperties(Definer.java:408)
    at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:264)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    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:435)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:168)
    at org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:230)
    at org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:162)

I did some search in google and stackoverflow but I failed to find any relative information. 我在google和stackoverflow中做了一些搜索,但是找不到任何相关信息。 I am wondering if there is anything wrong with my environment. 我想知道我的环境是否有问题。

The snippet of the build.xml around line 111 is 第111行的build.xml片段是

<path id="android.antlibs">
    <pathelement path="${sdk.dir}/tools/lib/guava-13.0.1.jar" />
    <pathelement path="${sdk.dir}/tools/lib/ant-tasks.jar" />
</path>

<!-- Custom tasks -->
<taskdef resource="anttasks.properties" classpathref="android.antlibs" />

First, check your guava-xxx.jar (eg. ${sdk.dir}/tools/lib/guava-13.0.1.jar ), make sure it do have method void checkArgument(boolean) under com.google.common.base.Preconditions 首先,检查您的guava-xxx.jar(例如${sdk.dir}/tools/lib/guava-13.0.1.jar ),确保它在com.google.common.base.Preconditions下确实具有方法void checkArgument(boolean) com.google.common.base.Preconditions

Second, check your CLASSPATH environment, make sure there's no other jar files in CLASSPATH contain class com.google.common.base.Preconditions 其次,检查你的CLASSPATH环境,确保有没有其他jar文件CLASSPATH包含类com.google.common.base.Preconditions

Your exception, but not stack trace, is the same as in this question - CompilerOptions: NoSuchMethodError: com.google.common.base.Preconditions.checkArgument . 您的异常但不是堆栈跟踪,与该问题相同-CompilerOptions:NoSuchMethodError:com.google.common.base.Preconditions.checkArgument Perhaps you are also missing a classpath entry? 也许您还缺少类路径条目?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM