目标"${build.target}"在运行Android的build时在项目"LibA"中不存在.xml来自Gradle的



我有一个Android项目,它依赖于三个Android库。它的项目。属性文件如下所示:

split.density=false
android.library.reference.2=..\LibB
proguard.config=proguard.cfg
android.library.reference.1=..\\LibA\\
# Project target.
target=android-5
android.library.reference.3=../LibC


此项目的build.xml仅用于依赖Gradle任务:

<target name="-pre-build" depends="preBuild" />
<target name="-pre-compile" depends="preCompile" />
<import file="${sdk.dir}/tools/ant/build.xml" />


和构建。Gradle以以下方式包含项目的build.xml:

ant.property(file: 'local.properties')
configurations {
    sdkDir = ant.properties['sdk.dir']
}
ant.importBuild "build.xml"


当我以"release"为目标运行这个脚本时,我从Android的build.xml文件中得到以下错误:

[ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':-build-setup'.
[ERROR] [org.gradle.BuildExceptionReporter] Cause: The following error occurred while executing this line:
[ERROR] [org.gradle.BuildExceptionReporter] Target "${build.target}" does not exist in the project "LibA".


由第466行(包含"subant"的行)引起的

<!-- compile the libraries if any -->
<if>
    <condition>
        <isreference refid="project.libraries" />
    </condition>
    <then>
        <echo>Building Libraries</echo>
        <subant
                buildpathref="project.libraries"
                antfile="build.xml"
                target="${build.target}"
                failonerror="true"/>
        <echo></echo>
        <echo>############################################</echo>
        <echo>**** Back to project ${ant.project.name} ****</echo>
        <echo>############################################</echo>
    </then>
</if>


所以,问题是:有没有人知道如何摆脱这个错误或如何正确使用Android的build.xml在Gradle?

Gradle-android-plugin在android sdk>= r14的时候被打破了,因此我已经放弃了依赖它。我使用sdk工具r15

更新:

似乎两者

<target name="-set-release-mode" depends="-set-mode-check">

<target name="-set-debug-mode">

在Android的build.xml文件中被调用,但我不知道为什么。

我不知道这个环境的任何细节,但是错误消息意味着期望的属性- build.target -没有定义。

我注意到在你的项目属性文件中有这样的内容:

# Project target.
target=android-5

如果你把它改成这个,它会工作吗?

# Project target.
build.target=android-5

我有同样的问题,并解决包括:

build.target =释放

在项目结束时。

我知道这是一个旧的帖子,但是问题仍然出现在一些人身上。target是为Ant构建器定义的任何目标。如果您使用的是Eclipse,那么您可以这样定义目标:

Menu->Run->External Tools->External Tools Configuration->Targets

选择要由Ant构建的实际目标。

注意,如果没有定义,Eclipse将强制使用Help目标。

更多信息请访问:http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fconcepts-exttools.htm

相关内容

  • 没有找到相关文章

最新更新