android使用ant打包成SDK

前言

最近看到好多朋友搜索android打包sdk进到我的BLOG,可能是因为我前些BLOG的关键字吧。但是,其实是没有一篇BLOG来讲如何打SDK的。

在这里我就简单说一下打SDK的方法。

讲打SDK之前,先说一下APK打包流程。不管是用脚本打包,还是ADT自带打包,其流程都是先将java源码编译,混淆,再打成jar,再将jar转成dex,编译资源,打包,压缩,签名。

对于SDK,其实我们只需要执行到打成jar这一步就OK了。

方法一

使用eclipse导出jar包:我们知道一个java项目是可以用eclipse导出jar包的,安卓工程也一样,只要按普通的方法export就可以了。不过,export出来的包是没有混淆过的,如果你要混淆,还需要单独对你的jar包执行一次proguard程序,可参考proguard使用指南。

方法二

使用脚本打包:我个人比较喜欢该方法,因为android工程项目并不是只有JAVA代码,有的资源也需要提供出来,而使脚本可以更加定制化一些。

android的SDK默认提供了一个ant打包的脚本,具体使用方法,可参考之前的BLOG,使用ant打包APK及依赖包最佳解决办法

我们可以看出,打包,最终调用的其实是android sdk下的ant脚本,既然安卓已经帮我们写好了ant脚本,我们就好好利用。

使用上面的BLOG中介绍的方法,先在工程目录中生成你的build.xml,然后自己写一个target

<target name="sdk"
            depends="-set-release-mode, -release-obfuscation-check, -compile, -post-compile, -obfuscate">
</target>

这段target代码,就是只执行到了混淆的脚本。然后我们在build.xml中选择右键,run as, 第二个ant Build,然后选择要执行的target为我们加上的sdk。

等执行完成后,就会在project/bin/proguard/obfuscated.jar找到你所要的jar包。

优化

我们其实没有在target中增加任何逻辑的,现在我们可以加进去一些脚本,比如把你的jar和资源打包成一个zip包,或者做一些其它自定义的事。

后续

  • 我没有试项目依赖,通常一个做为sdk的项目本身就很小了,很少再有lib project的依赖关系。可能需要更改脚本。

  • 我发现很多朋友都在百度搜索android如何打SDK包,其实大家只要多了解一下打包原理,流程,打APK和打SDK没什么区别。

转自:http://www.lephones.net/2014/12/02/android-ant-sdk/

方法三

使用方法二会将依赖包一并打入sdk中,并且项目需要将assets中的数据库打入sdk,经调查发现先用方法一导出需要的jar,然后在配置好的proguard-project.txt文件中加入

-injars       in.jar
-outjars      out.jar
in.jar为方法一导出的jar,将in.jar置于工程目录下。 右键工程选择Android Tools-->Export Unsigned Application Package, 当导出程序的apk时,同时也会将in.jar文件进行混淆生成out.jar文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值