一般我們的library都有使用到第三方的jar包,在上一篇文章中竿屹,我介紹的打包方式是不能將libs目錄下的jar包和library下面的class文件一并打包進去的。
下面斟湃,我介紹兩種方法來解決這個問題瓣履。
(1)使用Apache Ant工具,進行jar包合并
下載安裝后材原,需要進行環(huán)境變量的配置沸久。
配置完環(huán)境變量后,可以檢查一下是否配置成功余蟹。
(1)打開cmd卷胯,輸入ant,回車
如果出現(xiàn)下面的內(nèi)容威酒,就代表是配置成功了窑睁。
(2)接下來,我們創(chuàng)建build.xml文件葵孤,我是在D:\apache-ant-1.10.5目錄下創(chuàng)建的担钮。
build.xml文件的配置如下,大家可以根據(jù)自己的需求尤仍,進行修改
(3)接下來箫津,我們就把library打包成功的jar包,和library的libs目錄下的jar都拷貝到D:\jar目錄下宰啦。
然后苏遥,使用cmd操作下面的指令,進行jar包的合并赡模。
(4)D:\jar目錄下暖眼,就可以看到合并的jar包了。
(2)使用library的build.gradle進行相應(yīng)的配置
(1)把所有需要合并的jar包都配置到zipTree里面去
(2)在Terminal下執(zhí)行g(shù)radlew makeJar纺裁,就可以實現(xiàn)library打包的時候,并將libs下的jar包打包到新的jar包中
(3)最后我們在library的build目錄下司澎,就可以找到生成的jar包了
可能會遇到的問題
在執(zhí)行了gradlew makeJar指令后欺缘,會報找不到release目錄下classes.jar文件的錯誤。這個時候挤安,我們?nèi)uild\intermediates\bundles目錄下谚殊,發(fā)現(xiàn)沒有找到release文件夾。這個時候蛤铜,我們可以去到library\Tasks\other嫩絮,雙擊bundleRelease丛肢,來生成release文件夾及其目錄下的classes.jar文件。
然后再次在Terminal下剿干,執(zhí)行g(shù)radlew makeJar指令蜂怎,就可以生成jar包了。
如果jar包是提供給其他公司使用置尔,可能大佬會要求杠步,jar包的內(nèi)容需要進行混淆。
在此榜轿,感謝下面這些文章提供的幫助