AndroidStudio将library打包成jar包遇到的问

2018-09-24  本文已影响0人  有间客栈起飞吧

一般我们的library都有使用到第三方的jar包,在上一篇文章中,我介绍的打包方式是不能将libs目录下的jar包和library下面的class文件一并打包进去的。

下面,我介绍两种方法来解决这个问题。

(1)使用Apache Ant工具,进行jar包合并

Apache Ant下载地址

下载安装后,需要进行环境变量的配置。

配置完环境变量后,可以检查一下是否配置成功。

(1)打开cmd,输入ant,回车

如果出现下面的内容,就代表是配置成功了。

(2)接下来,我们创建build.xml文件,我是在D:\apache-ant-1.10.5目录下创建的。

build.xml文件的配置如下,大家可以根据自己的需求,进行修改

(3)接下来,我们就把library打包成功的jar包,和library的libs目录下的jar都拷贝到D:\jar目录下。

然后,使用cmd操作下面的指令,进行jar包的合并。

(4)D:\jar目录下,就可以看到合并的jar包了。

(2)使用library的build.gradle进行相应的配置

(1)把所有需要合并的jar包都配置到zipTree里面去

(2)在Terminal下执行gradlew makeJar,就可以实现library打包的时候,并将libs下的jar包打包到新的jar包中

(3)最后我们在library的build目录下,就可以找到生成的jar包了

可能会遇到的问题

在执行了gradlew makeJar指令后,会报找不到release目录下classes.jar文件的错误。这个时候,我们去build\intermediates\bundles目录下,发现没有找到release文件夹。这个时候,我们可以去到library\Tasks\other,双击bundleRelease,来生成release文件夹及其目录下的classes.jar文件。

然后再次在Terminal下,执行gradlew makeJar指令,就可以生成jar包了。

如果jar包是提供给其他公司使用,可能大佬会要求,jar包的内容需要进行混淆。

一篇很好地讲解了AndroidStudio混淆的文章

在此,感谢下面这些文章提供的帮助

http://www.cnblogs.com/xqxacm/p/5893400.html

https://blog.csdn.net/aaabbbcnm/article/details/78105048

上一篇下一篇

猜你喜欢

热点阅读