2

ライブラリを使用するプロジェクトの 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 ファイルのあるディレクトリを指しています。

4

2 に答える 2

0

「project.propertiesのないパスに解決する」を参照して-他の誰かがそれをヒットした場合に備えて:「android.library.reference.1=abc」行の最後に余分なスペースがあり、それが原因でした頭痛。余分なスペースを削除すると、すべてが機能しました。

于 2014-03-07T13:36:13.683 に答える
0

ant project update --path .最初にライブラリのフォルダーで実行し、次にプロジェクトのフォルダーで実行する必要があります。

これで、コンパイルの準備が整いました。ant clean releaseたとえば、最初にライブラリを個別にビルドし、次にant clean releaseライブラリを使用してプロジェクトでビルドする必要があります。

于 2012-08-22T14:28:05.970 に答える