Reputation: 1302
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
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
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