jar 文件在构建路径中将其标记为“is library”后成功构建
该 JAR 不是为重新分发而设计的。它是在宿主项目中使用 Android 库项目的工件。
这可能吗?
在撰写本文时,Android 并未在 JAR 中分发 Android 资源。也许这将在目前正在开发的基于 Gradle 的构建系统中可用。
您将需要分发一个包含您的资源的 Android 库项目,该项目还包含您的src/
树或为该代码手动构建的 JAR 文件libs/
。
例如,这里有一对相当粗糙的 Ant 任务:
<target name="jar" depends="debug">
<delete file="bin/CWAC-ColorMixer.jar" />
<jar destfile="bin/CWAC-ColorMixer.jar" basedir="bin/classes" excludes="**/BuildConfig.class **/R*.class" />
</target>
<target name="dist-lib" depends="jar">
<copy todir="/tmp/CWAC-ColorMixer/libs">
<fileset dir="libs/" />
</copy>
<copy todir="/tmp/CWAC-ColorMixer/res">
<fileset dir="res/" />
</copy>
<copy file="bin/CWAC-ColorMixer.jar" todir="/tmp/CWAC-ColorMixer/libs" />
<copy file="AndroidManifest.xml" todir="/tmp/CWAC-ColorMixer" />
<copy file="build.xml" todir="/tmp/CWAC-ColorMixer" />
<copy file="local.properties" todir="/tmp/CWAC-ColorMixer" />
<copy file="project.properties" todir="/tmp/CWAC-ColorMixer" />
<copy file="LICENSE" todir="/tmp/CWAC-ColorMixer" />
<mkdir dir="/tmp/CWAC-ColorMixer/src" />
</target>
第一个创建 JAR 文件。第二个在临时目录中创建一个 Android 库项目。这第二个 Ant 任务确实需要改进(例如,可配置的位置、自动压缩结果),但它确实有效。