安卓使用兰贝壳儿多渠道打包

      每次apk文件的打包也是个蛋疼的事情,用ant多渠道打包也是非常的流畅的,随着版本到了22很多的东西出问题了,不管的release还是debug包,我也是看见朋友推荐的说是一个叫蓝贝壳儿的打包插件,当然这是一个eclipse的插件,用as开发的可能不需要,但是我们公司还是用ec开发,所以我是用了,不喜欢ant那样的控制台命令行来打,每次忘记命令还得去百度,太麻烦了。

   不多说,我们http://www.orchidshell.com/这里先去下载压缩包,将OrchidShell文件夹拷贝到Eclipse的dropins文件夹下后,启动(重启)Eclipse,这样插件算是装了,到底装好没,那就

在需要打包的Android工程上点击右键可看到菜单 “兰贝壳儿”,说明安装成功,看图:

  

                       

中文的插件用起来有信心多了吧,我们先依赖更新下,然后奇迹的事情发生了,你看:

             

是不是libs文件夹下多了个更新的jar,然后控制台也会打印相应的日志(这里就不贴图了),然后是不是还生成了一个bom.xml,没错这就是打包渠道的配置文件,使用简单方便。

这里使用的第三方jar包,使用maven管理jar包的组织形式

                                               

 

需要指出的是,这里的jar包必须有一个统一的下载网站。该网站可以是任何一家maven库或者maven库镜像。如果您自己有Team的服务器,当然也可以自己建一个Maven库来管理常用的通用组件。

                                                       

 反正我用得是默认的maven配置,然后我们就准备去打包。

注意打包发布前,需要修改配置文件中对应的项目:

如果你还没有签名文件,那么我们就来用jdk自带的故居apktool来生成签名文件:

步奏如下:

首先,我们需要一个keystore,当然已经有了的话就不用这一步了:
cmd下:
进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件
 cd C:\Program Files\Java\jdk1.6.0_10\bin>
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [Unknown]: 您的组织单位名称是什么?
  [Unknown]: richer
您的组织名称是什么?
  [Unknown]:richer
您所在的城市或区域名称是什么?
  [Unknown]:  shanghai
您所在的州或省份名称是什么?
  [Unknown]: shanghai
该单位的两字母国家代码是什么
  [Unknown]:  86
....... 正确吗?
  [否]:  Y
输入<android.keystore>的主密码(如果和 keystore 密码相同,按回车):

其中参数-validity为证书有效天数,这里我们写的大些10000天。还有在输入密码时没有回显(尽管输就是啦) 并且 退格,tab等都属于密码内容,这个密码在给.apk文件签名的时候需要.

    

看节点就知道,里面包括渠道信息的配置和签名配置,以及打包后输出的目录。

其中channels 的keyname=””是指在你的AndroidManifest.xml文件中配置的Application级的<Meta-data>的名称。然后渠道有5个,所以会打出5个apk文件包来,keystore就是你对apk文件进行签名时使用的个人密钥。需要你将path修改为你的密钥库路径,passwd为密钥库的密码。

下面的alias是指每个密钥对应的别名,以及对应的密码。如果你有多个alias,可以在这里指定,插件会选取第一个可用的alias以及密码对应的密钥Key对你的apk文件进行签名。

<outpath value="F:\Repos\output\" />

这个路径就是你的apk文件自动打包生成出来以后的存放路径。注意插件会在这个路径下创建以你的工程名为名称的文件夹。

配置好后就可以批量多渠道打包了,成功后如下图(控制台输出):

然后去E:\Repos\output\文件下找刚才配置5个渠道的5个apk文件就ok了

apk优化

最后呢我们使用使用zipalign优化你的APK文件,可以减少运行内存RAM的占用。

如果你下载过Android SDK Tools,此文件位于android-sdk-windows\tools目录下

 zipalign位于android sdk的tools文件夹下面,如果你使用windows操作系统可以通过cmd来执行它:

   完整的命令行说明为

   E:\android-sdk-windows\tools>zipalign.exe Zip alignment utility
Copyright (C) 2009 The Android Open Source Project

Usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
       zipalign -c [-v] <align> infile.zip

  <align>: alignment in bytes, e.g. ’4′ provides 32-bit alignment
  -c: check alignment only (does not modify file)
  -f: overwrite existing outfile.zip
  -v: verbose output

  使用方法比较简单 zipalign -v 4 source.apk destination.apk 其中这里-v代表详细输出, 4代表对齐为4个字节,同时-f参数如果添加则会覆盖存在的输出文件

  对于是否有效可以通过 zipalign -c -v 4 destination.apk 来查看是否成功的优化了你的apk文件,这里-c参数代表检查对齐,可以看作是只读执行,最后提示大家这步可能造成文件签名问题,注意和apk签名执行的顺序。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值