我在使用库项目的 project.properties 文件中链接了一个库项目
android.library.reference.1=~/Documents/Workspace/LibraryProject/
图书馆项目的 project.properties 说:
android.library=true
我在这里读到我必须使用相对路径。所以我使用前面带有波浪号的路径,因为我读到这被认为是我使用的基于 Unix 的操作系统(Mac OS)上的相对路径。
但是,当我使用 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>
我现在收到此错误:
taskdef class com.android.ant.SetupTask cannot be found
谷歌搜索了一下,它说我必须在库项目的 local.properties 文件中提供我的 android_home 的路径,我这样做:
sdk.dir=/Users/home/Documents/android-sdk-macosx
遗憾的是还没有运气,有人知道这里有什么问题吗?
编辑2:
删除使用库项目的 build.xml 文件后,找不到 SetupTask 的错误消失了,但我原来的帖子中的“解析到没有 project.properties 的路径”再次出现。即使路径是正确的,并且指向带有 project.property 文件的目录。