如何在android项目中将一个jar捆绑到另一个jar中

时间:2013-04-17 16:44:04

标签: android eclipse build jar android-library

我正在编写一个android库(没有资源),并计划将其作为jar分发。我的library.jar依赖于第三方库说:thirdParty_1.jar和thirdParty_2.jar。我正在eclipse中构建library.jar。 thirdParty_1.jar和thirdParty_2.jar包含在构建路径中,并且检查两者的导出顺序。 当我在示例应用程序中删除library.jar时,它会给出运行时异常,即找不到第三方库中的类。

您知道将第三方库包装到您自己的jar中并将其作为独立jar分发的正确方法吗?

[更新] 我可以使用Eclipse FatJar插件创建一个jar。它是与jar一起运送依赖项的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

我已设法使用-post-build处的ant zip任务完成此操作。

在底部修改build.xml,如下所示:

<!-- version-tag: custom -->
<import file="${sdk.dir}/tools/ant/build.xml" />
<target name="-post-build">
    <zip destfile="bin/my-library.jar">
        <zipgroupfileset dir="bin/" includes="classes.jar"/>
        <zipgroupfileset dir="libs/" includes="*.jar"/>
    </zip>
</target>

我不确定Eclipse如何处理构建过程,因为我独家使用命令行SDK工具进行开发,但它可能会调用ant debugant release或其他东西,所有这些都是取决于-post-build目标。