每次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了版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u013278099/article/details/46786093