4

ワークスペースJavaLibのJavaプロジェクトに依存するAndroidライブラリプロジェクトAndroidLibがあります。

Eclipseでは、これはJavaLibプロジェクトを[Javaビルドパス] > [ AndroidLibのプロジェクト]に追加し、[注文とエクスポート]タブでエクスポートするように設定することで実行され、正常にビルドされます。

ただし、Antは、AndroidLibをビルドするときにJavaLibプロジェクトへの依存関係を認識していないようです(私はandroid update lib-projectを実行しました)。この依存関係をbuild.xmlに追加する最良の方法は何ですか?

4

3 に答える 3

3

私も同じ問題を抱えていました。私はそれを非常にハックな方法で解決することをやめました。

AndroidLib / build.xml(またはAndroidLib / custom_rules.xmlの方が良い)で、-pre-buildJavaLibをビルドし、結果のjarをlibs/にコピーするターゲットを定義しました。-post-packageまた、コピーしたjarを削除するターゲットを定義しました。そうしないと、Eclipseが混乱します。

<property name="lib.javalib.project.dir" location="${basedir}/../JavaLib" />
<target name="-pre-build">
  <subant buildpath="${lib.javalib.project.dir}" target="package" failonerror="true" />
  <copy todir="${basedir}/libs" failonerror="true" verbose="true">
      <fileset dir="${lib.javalib.project.dir}/target">
          <filename name="javalib*.jar"/>
      </fileset>
  </copy>
</target>
<target name="-post-package">
    <delete verbose="true">
        <fileset dir="${basedir}/libs" includes="javalib*.jar" />
    </delete>
</target>

このソリューションは満足のいくものではありませんが、仕事は終わります。

あなたはそこに同様の質問と答えを見つけるでしょう:Android Ant IncludeJavaLibraryプロジェクト

于 2013-08-10T06:49:02.310 に答える
0

私自身の質問に答えます。これを適切に行う唯一の方法は、Antを使用しないことです。

  1. 適切な依存関係管理システムが必要です。ここでは、Mavenが唯一の本当の選択です。
  2. Mavenをサポートするビルドシステムが必要です。私は現在、これに再びMavenを使用しています。これは、当時、Mavenの依存関係管理もサポートした唯一の成熟したビルドツールだったためです。現在(Androidライブラリプロジェクトの場合、これらの形式はまだ最終的なものではないため)Gradleをビルドする必要があります。選択したツール。
于 2013-08-10T22:25:30.850 に答える
0

build.xmlを変更してjavaプロジェクトのantファイルを実行してから、jarをlibsフォルダーにコピーします。

    <target name="-pre-compile">
        <ant antfile="build.xml" dir="dependencies/JavaUtils" target="clean"/>
        <ant antfile="build.xml" dir="dependencies/JavaUtils"/>
        <copy todir="${jar.libs.dir}" failonerror="true" file="dependencies/JavaUtils/dist/Java-utils.jar"/>
        <sleep seconds="3"/> <!-- Delay for the file to be recognized after the copy -->
    </target>

これが誰かをどのように助けたか。

ところで、私はGradleの依存関係/ビルド/その他のシステムについて読み始め、そこから忍び寄りました。ああ、アリに戻るのはなんて安心だ...

于 2014-04-07T13:53:22.677 に答える