この問題をトリッキーな方法で解決しました。ここにあります
複数のソース ディレクトリを使用して Android でライブラリ プロジェクトをビルドするには、まずant.propertiesファイル (Linux の場合はbuild.properties ) に移動し、 source.dirを追加します。
source.dir=first_source_dir ;second_source_dir ; third_source_dir
lib project の場合、antは、 ant.propertiesまたはbuild.propertiesファイルで指定された out.dir ディレクトリのディレクトリbin/classesから、コンパイルされた.classファイルを 含むjarライブラリを作成します。
jarの作成 中に、antはすべての.javaソース ファイルをjarから削除します。コーダーが.javaソース ファイルをout.dirディレクトリに保持している場合は、 jarに含まれる可能性があり、そのディレクトリをsource.dirで指定します。
これらの.javaソースantを削除するには、次のコマンドを使用してsource.dirディレクトリに移動します。
<property name="source.absolute.dir" location="${source.dir}" />
dir="${source.absolute.dir}"
このコマンドで ant実際にディレクトリに移動しようとしています
cd <your_project_root_dir>/first_source_dir ;second_source_dir ; third_source_dir
存在しない...
解決:
ステップ 1. まず、ソース ディレクトリ(source.dir) とビルド ディレクトリ( out.dir ) が異なることを確認します。
ステップ 2. C:\Program Files\Android\android-sdk\tools\antに移動し、 build.xml
を開き、jarタグに移動します。
<jar destfile="${out.library.jar.file}">
<fileset dir="${out.classes.absolute.dir}"
includes="**/*.class"
excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/Manifest.class ${project.app.package.path}/Manifest$*.class ${project.app.package.path}/BuildConfig.class"/>
<fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" />
</jar>
ここで、 jarタグの最後のファイルセットタグをコメント化または削除します
<jar destfile="${out.library.jar.file}">
<fileset dir="${out.classes.absolute.dir}"
includes="**/*.class"
excludes="${project.app.package.path}/R.class ${project.app.package.path}/R$*.class ${project.app.package.path}/Manifest.class ${project.app.package.path}/Manifest$*.class ${project.app.package.path}/BuildConfig.class"/>
<!--fileset dir="${source.absolute.dir}" excludes="**/*.java ${android.package.excludes}" /-->
</jar>
プロジェクトをビルドします。