seanxiaoxiao
seanxiaoxiao

Reputation: 1302

Encountered Error when Building Android App with Ant

I have an android project and I use android update project -p . --target 12 to generate build.xml script. Once this is done, I use ant to build the project. 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. I am wondering if there is anything wrong with my environment.

The snippet of the build.xml around line 111 is

<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" />

Upvotes: 0

Views: 540

Answers (2)

GeFo.Fallen
GeFo.Fallen

Reputation: 36

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

Second, check your CLASSPATH environment, make sure there's no other jar files in CLASSPATH contain class com.google.common.base.Preconditions

Upvotes: 1

Hugh McGrade
Hugh McGrade

Reputation: 146

Your exception, but not stack trace, is the same as in this question - CompilerOptions: NoSuchMethodError: com.google.common.base.Preconditions.checkArgument. Perhaps you are also missing a classpath entry?

Upvotes: 0

Related Questions