2012-01-24 93 views
3

我正在一个ant构建文件(独立于eclipse)上构建我的android应用程序。蚂蚁无法导入R.java

我需要生成R.java文件。但是,当我试图从src目录构建我的项目时,它已经成功完成了,它抱怨它无法找到导入的R.java文件。我在gen目录中看到它......但它仍然不会构建。

它在build-project目标中失败。失败说它“无法找到符号”它正在审判R.java文件。它所指向的代码行是导入行。

这是我的xml文件,请协助,谢谢!如果您需要更多信息,请与我们联系。


<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<project basedir="." default="build" name="ATB"> 

    <target name="init"> 
     <mkdir dir="../bin/classes"/> 
     <copy includeemptydirs="false" todir="../bin/classes"> 
      <fileset dir="../src"> 
       <exclude name="**/*.java"/> 
      </fileset> 
     </copy> 
     <copy includeemptydirs="false" todir="../bin/classes"> 
      <fileset dir="../gen"> 
       <exclude name="**/*.java"/> 
      </fileset> 
     </copy> 
    </target> 

    <target depends="clean" name="cleanall"/> 

    <target depends="resource-src,build-subprojects,build-project,jar" name="build"/> 

    <target name="build-subprojects"/> 

    <target depends="init" name="build-project"> 
     <echo message="${ant.project.name}: ${ant.file}"/> 
     <javac debug="true" 
      debuglevel="${debuglevel}" 
      destdir="../bin/classes" 
      source="${source}" 
      target="${target}" 
      executable="${env.JAVAHOME}/javac" 
      fork="true" 
     > 
      <src path="../src"/> 
      <classpath refid="ATB.classpath"/> 
     </javac> 
     <javac 
      debug="true" 
      debuglevel="${debuglevel}" 
      destdir="../bin/classes" 
      source="${source}" 
      target="${target}" 
      executable="${env.JAVAHOME}/javac" 
      fork="true" 
     > 
      <src path="../gen"/> 
      <classpath refid="ATB.classpath"/> 
     </javac> 
    </target> 

    <target depends="init" name="jar"> 
     <jar destfile="../bin/${ant.project.name}"> 
      <fileset dir="../src/"> 
      </fileset> 
     </jar> 
    </target> 

    <target name="resource-src" description="Generate the R.java file for this project's resources."> 
     <exec executable="${aapt}" failonerror="true"> 
      <arg value="package"/> 
      <arg value="-f"/> 
      <arg value="-v"/> 
      <arg value="-M"/> 
      <arg path="../AndroidManifest.xml"/> 
      <arg value="-A"/> 
      <arg path="../assets"/> 
      <arg value="-I"/> 
      <arg path="${android_jar}"/> 
      <arg value="-m"/> 
      <arg value="-J"/> 
      <arg path="../gen"/> <!-- Create R.java in the gen directory --> 
      <arg value="-S"/> 
      <arg path="../res"/> 
     </exec> 
    </target> 

    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"> 
     <ant antfile="build.xml" dir="${Comms.location}" inheritAll="false" target="clean"/> 
     <ant antfile="build.xml" dir="${Comms.location}" inheritAll="false" target="build"/> 
    </target> 

</project> 

回答

6

您的脚本不包括{}根路径作为编译源。只需加入<javac>

<src path="../src"/> 
    <src path="../gen"/>