4

Android ライブラリ プロジェクト B に依存する Android アプリケーション プロジェクト A があります。両方のプロジェクトを Eclipse にインポートすると、(おそらく ADT プラグインが原因で) Eclipse Builder に気づきました。ライブラリ プロジェクトは次のようにコンパイルおよびビルドされます。プロジェクト Bb.jarのフォルダー内に格納されbin\ます。A のクラスパスでは b.jar として参照されます。

しかし、antコマンドでビルドしながらant debugライブラリプロジェクトBをコンパイルすると、classes.jar.

このファイルの名前を .jar に変更する方法はありますか? SDK build.xml で名前を変更しようとしましたが、プロジェクト A は B で定義されたクラスを解決していないようです。また、B のテスト プロジェクトは失敗します。これは、Android dex コンパイラが内部でファイル classes.jar を検索しようとするためです。ライブラリ プロジェクトのbin\フォルダ。

ありがとう、

4

4 に答える 4

4

プロジェクト ディレクタに custom_rules.xml ファイルを作成します。

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
    <target name="-post-compile">
    <echo level="info">Renaming jar filename</echo>
    <move file="${out.library.jar.file}"tofile="${out.absolute.dir}/${ant.project.name}.jar"/>
    </target>
</project>
于 2014-05-21T19:47:25.637 に答える
0

ライブラリ プロジェクトに追加のビルダーを追加しました: /bin/cp bin/classes.jar bin/${project_name}.jar

于 2013-05-20T14:58:19.193 に答える
0

最も簡単な方法は、ant.properties に次の行を追加することです。

out.library.jar.file=bin/b.jar

しかし、プロジェクト B がプロジェクト A によって project-A/ant.properties のように参照されている場合:

android.library.reference.1=/path/to/project-B

その場合、コンパイラは、プロジェクト B で定義されたシンボルが見つからないと文句を言うことがあります。

于 2015-04-21T09:36:43.330 に答える