Ant构建脚本:找不到android.jar

时间:2010-06-21 09:31:18

标签: android ant build

喂,

我无法使用ant构建脚本编译我的项目。错误消息:

Ant cannot find symbol...

我读过关于创建build.xml的内容,但似乎还不够。我的项目目录具有以下布局:

poject

  • SRC
    • gen
    • ...

libarie_with_needed_java.file

  • SRC
    • 客户端
    • 辅助

如何使用外部参考? Ant无法找到android jarbuild.xml文件如下所示:

<?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>

我使用网站上的示例和Eclipse生成的文件创建了这个文件。

我删除了以下外部属性文件(以简化问题):

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

我需要从不同的src位置包含外部.java文件。

我需要知道如何复制项目中的外部文件并将所有内容编译在一起。

谢谢, 烫发

2 个答案:

答案 0 :(得分:1)

属性文件通常包含整个主构建脚本中使用的变量的值。

要找出无法找到android.jar的原因,请执行以下操作:

  1. 浏览到包含build.xml
  2. 的目录
  3. 浏览一个目录(../)。
  4. 浏览android-sdk-windows/platforms/android-4/
  5. 确保android.jar在该目录中。
  6. 否则,您必须相对于build.xml文件更改android.jar位置的路径。

答案 1 :(得分:1)

您可以使用SDK的位置定义名为sdk.dir的属性,但不要在build.xml文件中的任何其他位置使用它。

尝试在build.xml文件中添加它

<path id = "classpath">
    <fileset dir = "${lib.dir}" includes = "*.jar"/>
    <fileset dir = "${sdk.dir}" includes = "*.jar"/>
</path>