2012-01-24 8 views
3

私はアンドロイドアプリケーションをビルドするために、Antビルドファイル(Eclipseからスタンドアローン)で作業しています。antは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

スクリプトはコンパイル源として{GEN}パスを含んでいません。 <javac>に追加するだけ:

<src path="../src"/> 
    <src path="../gen"/> 
関連する問題