ant无法导入R.java



我正在开发一个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>

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

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

相关内容

  • 没有找到相关文章

最新更新