从命令行链接Android库项目,错误:…找不到taskdef类com.Android.ant.SetupTask

从命令行链接Android库项目,错误:…找不到taskdef类com.Android.ant.SetupTask,android,ant,Android,Ant,我在库项目的project.properties文件中链接库项目 android.library.reference.1=~/Documents/Workspace/LibraryProject/ 库项目的project.properties显示: android.library=true 我读到,我必须使用相对路径。所以我使用前面有波浪线的路径,因为我读到这被认为是基于Unix的操作系统上的相对路径,我使用Mac操作系统 但是,当我使用Ant脚本构建项目时,我不会将其发布在这里,因为它在上

我在库项目的project.properties文件中链接库项目

android.library.reference.1=~/Documents/Workspace/LibraryProject/
库项目的project.properties显示:

android.library=true
我读到,我必须使用相对路径。所以我使用前面有波浪线的路径,因为我读到这被认为是基于Unix的操作系统上的相对路径,我使用Mac操作系统

但是,当我使用Ant脚本构建项目时,我不会将其发布在这里,因为它在上面没有这一行的情况下工作,所以我认为这不是问题所在,我得到以下错误:

/Users/home/Documents/android-sdk-macosx/tools/ant/build.xml:545: ~/Documents/Workspace/LibraryProject/ resolve to a path with no project.properties file for project /Users/home/ApplicationAndroidBuilt
编辑

在我将代码更新为Boris Answer后,我又遇到了一个错误,但我认为我走对了路

下面是我现在在ant脚本中所做的

<target name="updateProject">

    <echo>updating Project...</echo>
    <!-- The Library -->
    <exec dir="${android_home}/tools" executable="./android">
        <arg line="update"/>
        <arg line="project"/>
        <arg line="--target"/>
        <arg line="4"/>
        <arg line="-p"/>
        <arg line="${scannerLibrary_home}"/>
    </exec>
   <!-- The consuming Project -->
    <exec dir="${android_home}/tools"  executable="./android"> 
        <arg line="update"/>
        <arg line="project"/>
        <arg line="--target"/>
        <arg line="4"/>
        <arg line="-p"/>
        <arg line="${targetdir}"/>
    </exec>

    <antcall target="buildScanner"/>
</target>

<target name="buildScanner">
    <exec dir="${scannerLibrary_home}"  executable="ant"> 
        <arg line="clean"/>
        <arg line="release"/>
    </exec>
    <antcall target="buildProject"/>
</target>

<target name="buildProject">
    <exec dir="${targetdir}"  executable="ant"> 
        <arg line="debug"/>
    </exec>
    <antcall target="install"/>
</target>
谷歌搜索一下,它说我必须在library项目的local.properties文件中提供android_主页的路径,我这样做:

sdk.dir=/Users/home/Documents/android-sdk-macosx
不幸的是还没有运气,有人知道这里有什么麻烦吗

编辑2:

删除库使用项目的build.xml文件后,SetupTask not found的错误消失,但从我的原始帖子中解析为不含Project.properties的路径的错误再次出现。即使路径是正确的,并且指向带有project.property文件的目录。

您需要运行ant project update-path。首先在库的文件夹中,然后在项目的文件夹中

就在那时,您已经准备好进行编译。您需要首先使用ant clean release单独构建库,然后在使用库的项目中使用ant clean release。

您需要运行ant project update-path。首先在库的文件夹中,然后在项目的文件夹中


就在那时,您已经准备好进行编译。你需要先单独建造一个图书馆,ant clean release和ant clean release使用库在项目中发布。

关于解析没有project.properties的路径-以防其他人点击:我的android.library.reference.1=abc行末尾有一个额外的空间,这让我头疼。一旦我删除了多余的空间,一切都正常了。

关于对没有project.properties的路径的解析-以防万一其他人点击它:我的android.library.reference.1=abc行的末尾有一个额外的空间,这让我头疼。一旦我删除了多余的空间,一切都正常了。

我更新了项目。标题中的新错误现在也被修复了,但我又得到了第一个错误。所以我开始了一个新的问题@dan运行andriod update project-path后,android sdk的路径应该自动添加。是的,你是对的,路径是自动添加的。可悲的是,它并没有解决我的问题。@dan对我来说,你得到的错误是非常明显的:你把ant任务称为SetupTask,你从来没有定义过它。可能会发布您拥有的整个ant文件,或者至少发布您编辑的自动生成文件的部分。但我不再收到此SetupTask错误,我必须删除消费项目的构建文件,然后再次运行android update项目。现在,我将第一个错误解析为没有project.properties文件的路径。。再一次我感谢你的帮助!我更新了项目。标题中的新错误现在也被修复了,但我又得到了第一个错误。所以我开始了一个新的问题@dan运行andriod update project-path后,android sdk的路径应该自动添加。是的,你是对的,路径是自动添加的。可悲的是,它并没有解决我的问题。@dan对我来说,你得到的错误是非常明显的:你把ant任务称为SetupTask,你从来没有定义过它。可能会发布您拥有的整个ant文件,或者至少发布您编辑的自动生成文件的部分。但我不再收到此SetupTask错误,我必须删除消费项目的构建文件,然后再次运行android update项目。现在,我将第一个错误解析为没有project.properties文件的路径。。再一次我感谢你的帮助!
sdk.dir=/Users/home/Documents/android-sdk-macosx