我正在编写一个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一起运送依赖项的唯一方法吗?
答案 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 debug
或ant release
或其他东西,所有这些都是取决于-post-build
目标。