自动化生成jar_心得

首先,先提供几个网址:

可以参考地址:http://blog.csdn.net/voiceofnet/article/details/12836699


前提条件是:首先自己下载androidtools的架包,可以从csdn网站上下载免费的;
参考以上地址步骤进行一个大致的浏览:
框架下载下来后,首先新建工程,将下载好的tools.jar架包导入lib文件夹,然后将该架包复制到Eclispe安装文件夹所在的插件文件夹plugins下,接下来就是重点如何改写bom.xml文件中的一些属性和值;
打开bom.xml文件,进行一个阅读,发现渠道属性在channels那一段:
<package>
<!-- 不区分大小写,逗号隔开的metaName,代表不同SDK的渠道标识符 -->
<channels keyname="apk_name">
<!-- channel的数量代表最终生成的apk文件的数量 -->
<channel value="baidu" />  
            <channel value="wandoujia" />     
</channels>
<keystore path="C:\Program Files\Java\jdk1.7.0_80\bin/android.keystore" passwd="123456">  
            <alias name="android.keystore" passwd="123789" />  
        </keystore>  
        <outpath value="E:\my" />  
</package>


利用蓝贝壳框架已经写好的bom.xml文件,自己在清单列表文件AndroidManifest.xml里进行一个配置,注意这里配置的  属性的name值一定要与bom.xml文件中的keyname值要一样,否则后面生成keystore文件时会报错:

<!-- 默认友盟渠道app_key -->
        <meta-data            
            android:name="apk_name"            
            android:value="wandoujia" />

至于bom.xml中channels 的keyname=””是指在你的AndroidManifest.xml文件中配置的Application级的<Meta-data>的名称;
alias是指每个密钥对应的别名,以及对应的密码。如果你有多个alias,可以在这里指定,插件会选取第一个可用的alias以及密码对应的密钥Key对你的apk文件进行签名。

keystore就是你对apk文件进行签名时使用的个人密钥。需要你将path修改为你的密钥库路径,passwd为密钥库的密码。

生成keystore的命令可以参考地址:http://jingyan.baidu.com/article/59703552e877f98fc00740f0.html

在这里多说一句:生成后keystor后,如果jdk安装在C盘,那么有一个访问权限的问题,利用cmd的dos黑框系统进行一个生成keystor命令会在最后一步出现一个无法读取的错误,这个简单,开始输入cmd后,右击以管理员权限打开运行黑框,这时候再按照以上网址提示信息输入就OK了。
验证在C盘生成keystore文件成功后,接下来就是进行一个多渠道自动化打包了

在代码Apllication层,可以在控制层Activity里进行一个简单的获取渠道信息的编写:
try {
appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);

String channelId=appInfo.metaData.getString("apk_name");

Log.e("TAG",channelId+"" );

} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

然后,右击项目,单机蓝贝壳进行一个大包发布就等着,过一会儿在定义好的路径下就可以打开看到该渠道生成的apk文件了,基本的流程是这样...

在这中间,我在实现过程中有几处需要注意的地方:

下载完蓝贝壳框架后,按照里面一个readme.htm文件操作步骤执行,在关键的第二步填写keyname以及渠道信息channels还有apk到处路径等keyname值必须要与项目清单列表文件中配置的属性meta-data   的name值要一样,至于渠道信息就可以随意浏览一些开发应用市场也可以网上复制一些我们常用的,apk导出路径可以自定义,秘钥keystore的路径则要看你的jdk安装路径是否在C盘系统盘了,在的话因为没有默认的keystore文件,所以用到了上面的网址,主要注意这个keystore的密码与之要对应,否则在自动化打包过程中会报错:key对应不上定义好的keystore路径,还要让它在jdk安装路径下生成一个android.keystore文件,如果不在,则可以直接在bom.xml文件中直接定义写好的路径。

上述一系列操作增强了操作,但是在代码应用层涉及代码的应用还是很浅的,这就涉及到开发思维,这个也就是关联到开发了,所以前路多艰,继续潜心钻研吧.......


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值