ライブラリを使用するプロジェクトの project.properties ファイルでライブラリ プロジェクトをリンクします
android.library.reference.1=~/Documents/Workspace/LibraryProject/
ライブラリ プロジェクトの project.properties は次のように述べています。
android.library=true
ここで、相対パスを使用する必要があることを読みました。したがって、これは、私が使用する Unix ベースの OS (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 ファイルのあるディレクトリを指しています。