我的搜索但是没有看到任何答案。
我正在构建一个jar作为SDK进行分发。在我将其标记为构建路径中的“is library”之后,jar文件成功构建。
现在的挑战是还要包括我的js库(js.zip)以便分发。在将它放在PROJECT_ROOT / res / raw下之后,我看到js.zip被包含在我的.APK文件中。但我没有通过“jar tf my.jar”在jar文件中看到它。如果将我的文件放在assets文件夹中,则不会产生差异。
这可能吗?
谢谢,
利
答案 0 :(得分:0)
在构建路径
中将jar文件标记为“is library”后,jar文件成功构建
该JAR不是为重新分发而设计的。这是在主机项目中使用Android库项目的工件。
这可能吗?
在撰写本文时,Android不会在JAR中分发Android资源。 也许这将在目前正在开发的基于Gradle的构建系统中可用。
您需要分发一个包含资源的Android库项目,该项目还包含src/
树或libs/
中针对该代码的手动构建的JAR。
例如,以下是一对相当粗略的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任务确实需要改进(例如,可配置的位置,自动压缩结果),但它可以工作。