蚂蚁没有导入R.java [英] ant failing to import R.java

查看:142
本文介绍了蚂蚁没有导入R.java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我工作的Ant构建文件(从日食是独立的)来构建我的Andr​​oid应用程序。

我需要生成R.java文件。我这样做成功的,但是,当它试图从建立我的项目的src 目录它抱怨找不到进口R.java文件。我看到它在目录...但它仍然不会建。

它未能在建设项目目标。失败说,它的找不到符号和它的定做到R.java文件。和code是指在该行是导入行。

下面是我的XML文件,请帮助,谢谢!让我知道如果你需要更多的信息。


 < XML版本=1.0编码=UTF-8独立=无&GT?;
<项目的basedir =。默认为建NAME =ATB>

    <目标名称=初始化>
        < MKDIR DIR =../斌/班/>
        <复制includeemptydirs =假todir =../斌/班>
            <文件集DIR =../ SRC>
                <** / * java的排除名称= />
            < /文件集>
        < /复制和GT;
        <复制includeemptydirs =假todir =../斌/班>
            <文件集DIR =../创>
                <** / * java的排除名称= />
            < /文件集>
        < /复制和GT;
    < /目标和GT;

    <目标取决于=干净NAME =cleanall/>

    <目标取决于=资源SRC,集结子项目,建设项目,罐子NAME =打造/>

    <目标名称=集结子项目/>

    <目标取决于=初始化NAME =建设项目>
        <回声消息=$ {ant.project.name} $ {ant.file}/>
        < javac的调试=真
            DEBUGLEVEL =$ {} DEBUGLEVEL
            DESTDIR =../斌/班
            来源=$ {}源
            目标=$ {}的目标
            可执行=$ {env.JAVAHOME} / javac的
            叉=真
        >
            < SRC路径=../ SRC/>
            <类路径REFID =ATB.classpath/>
        < / javac的>
        <的javac
            调试=真
            DEBUGLEVEL =$ {} DEBUGLEVEL
            DESTDIR =../斌/班
            来源=$ {}源
            目标=$ {}的目标
            可执行=$ {env.JAVAHOME} / javac的
            叉=真
        >
            < SRC路径=../根/>
            <类路径REFID =ATB.classpath/>
        < / javac的>
    < /目标和GT;

    <目标取决于=初始化NAME =罐子>
        <罐子destfile =../斌/ $ {ant.project.name}>
            <文件集DIR =../的src />
            < /文件集>
        < /瓶>
    < /目标和GT;

    <目标名称=资源SRC描述=生成R.java文件中查找该项目的资源>
        < EXEC可执行=$ {} AAPTfailonerror =真正的>
            < ARG值=包/>
            < ARG值= -  F/>
            < ARG值= -  V/>
            < ARG值= -  M/>
            < ARG路径=../ AndroidManifest.xml中/>
            < ARG值= -  A/>
            < ARG路径=../资产/>
            < ARG值= - 我/>
            < ARG PATH =$ {android_jar}/>
            < ARG值= -  M/>
            < ARG值= -  J/>
            < ARG路径=../根/> <! - 在根目录下创建R.java  - >
            < ARG值= -  S/>
            < ARG路径=../资源/>
        < / EXEC>
    < /目标和GT;

    <目标描述=构建它引用该项目的所有项目的有用传播的变化。 NAME =集结refprojects>
        <蚁antfile =的build.xmlDIR =$ {Comms.location}inheritAll =假的目标=干净/>
        <蚁antfile =的build.xmlDIR =$ {Comms.location}inheritAll =假的目标=打造/>
    < /目标和GT;

< /项目>
 

解决方案

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

 < SRC路径=../ SRC/>
   < SRC路径=../根/>
 

I am working on an ant build file (stand alone from eclipse) to build my android application.

I need to generate the R.java file. I have done so successfully, however, when it tries to build my project from the src directory it complains that it cannot find the imported R.java file. I see it in the gen directory... but it still will not build.

It fails in the build-project target. Fails saying that it "cannot find symbol" and it is reffering to the R.java file. And the line of code it is pointing at is the import line.

Here is my xml file, please assist, thank you! Let me know if you need more information.


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

解决方案

Your script doesn't include {gen} path as compile source. Just add into <javac>:

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

这篇关于蚂蚁没有导入R.java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆