tags:

views:

370

answers:

1

Hallo,

I cannot compile my project using an ant build script. The error message:

Ant cannot find symbol...

I read about creating build.xml, but it seems it is not enough. My project directory has the following layout:

poject

  • src
    • gen
    • ...

libarie_with_needed_java.file

  • src
    • clients
    • helper

How do I work with external references? Ant cannot find android jar. The build.xml file looks as follows:

<?xml version="1.0" encoding="UTF-8"?>
==================================================================== -->
<project name="test" default="main" basedir=".">

<!-- ==================================================================== 
      Declare global properties for reuse and control of script
     ==================================================================== -->

<!-- For project source files  -->
<property name="src.dir" location = "src/de/test"/> 
<property name="common.link" location = "../test-common/common"/> 
<!-- For compiled/output files. -->
<property name="build.dir" location = "build/source"/>
<!-- For class libraries and dependency files. -->
<property name="lib.dir" location = "lib"/>
<property name="sdk.dir" location = "../android-sdk-windows/" />    

<!-- ==================================================================== 
      Einstiegspunnkt - Target main
     ==================================================================== -->
<target name="main" depends="compile"  description="getting started">
  <echo message="start main target"/>   
</target>

<!-- ==================================================================== 
      Übersetzen - Target compile
     ==================================================================== -->
<target name="compile" depends="init">
  <echo message="start compile target"/>

  <javac srcdir="${src.dir}" destdir="${build}" debug="on"/>
  <classpath refid="classpath"/> 
</target>

<!-- ==================================================================== 
      Initialisierungen - Target init
     ==================================================================== -->
<target name="init" description="create needed directories">
  <echo message="start init target"/>
  <mkdir dir="${build}"/>
</target>   

</project>

I created this file using examples from websites and the file that Eclipse generated.

I have removed the following external properties files (to simplify the problem):

<property file="local.properties" />
<property file="build.properties" />
<property file="default.properties" />          

I need to include the external .java files from a different src location.

I need to know how to copy the external files in the project and compile everything together.

Thanks, Marcel

+1  A: 

Property files typically contain values for variables that are used throughout the main build script.

To find out why android.jar cannot be found, do this:

  1. Browse to the directory containing build.xml.
  2. Browse up one directory (../).
  3. Browse down into android-sdk-windows/platforms/android-4/.
  4. Make sure android.jar is in that directory.

Otherwise, you will have to change the path to the location of android.jar, relative to the build.xml file.

Dave Jarvis
yes it is inside , I think i do the false thinks in the build.xml
marcel
@marcel: Use Ant's echo task (http://ant.apache.org/manual/Tasks/echo.html) to display the values of the variables in the script. For some reason the JAR file is not making it into the classpath.
Dave Jarvis
thank you for your response.I think I include the sdk false or describe it false in the build.xml! Please can you show me how to do it right? Marcel
marcel
@marcel: I suggest you read more about Ant's tasks and get familiar with how they work. Also, take a look here: http://stackoverflow.com/questions/722774/getting-ant-javac-to-recognise-a-classpath
Dave Jarvis