蚂蚁未能导入R.java

时间:2012-01-24 16:50:36

标签: java android eclipse ant

我正在研究一个ant构建文件(独立于eclipse)来构建我的android应用程序。

我需要生成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>

1 个答案:

答案 0 :(得分:6)

您的脚本不包含{gen}路径作为编译源。只需添加到<javac>

   <src path="../src"/>
   <src path="../gen"/>
相关问题