apk生成多渠道的安装包

一、前言->需求

  最近公司的项目需要试上线,安卓包会放到多个渠道进行推广,玩家会进行下载安装登录,后台为了得到渠道包的下载使用数据,就会给每个渠道包加入了不同的渠道ID以便统计数据。那问题就来了,每出一个新版本的包,要快速生成几十上百个渠道包,那改怎么办,不可能手动去改ID再去生成吧,这样会很费时费力还容易出错,同时文件还要命名好。所以我就花了两天的时间开发这么个工具解决该问题。另外使其他人方便打包,所以需要增加http功能方便其他人来使用。

二、开始->思路构想

1、使用apktool d -s xxxx.apk 拆包可获得一个xxxx文件夹,里面可以得到明文的AndroidMenifest.xml文件。

2、找到对应的meta-data参数用正则匹配规则进行替换掉。

3、使用apktool b xxxx -o new_xxxx.apk 生成未签名的apk包,注意这个包还是不能安装在手机上的,需要签名才行。

4、使用jarsigner -keystore  -keypass istormkj -storepass istormkj -signedjar new_xxxx_singed.apk new_xxxx.apk alise 

5、步骤完成。

三、选择的语言与开发

因为时间比较急,所以就直接选择了Java语言进行开发,选择Java的原因是开发快,工具类库比较多,网上资料也相当的丰富,好了,开始编码。

先准备一个配置文件,文件包括:启动http端口,渠道包的版本号、应用ID、应用子ID、主渠道号、子渠道号,登录平台等,参数根据自己决定。如下图

复制代码

<configuration>
    <option name="httpPort" value="8089"/>
    <option name="version" value="1.0.8"/>
    <option name="app_id" value="1039"/>
    <option name="appchi_id" value="10139"/>
    <option name="channel_id" value="1000124"/>
    <option name="channelchi_ids" value="10002102,10002106,10002108"/>
    <option name="login_env" value="test_113"/>
</configuration>

复制代码

上面的参数key命名建议与AndriodMenifest.xml文件中的Meta-data一致,方便写代码进行修改,我的AndriodMenifest.xml部分内容如下:

        <meta-data android:name="app_id" android:value="1039"/>
        <meta-data android:name="appchi_id" android:value="10139"/>
        <meta-data android:name="channel_id" android:value="1000124"/>
        <meta-data android:name="channelchi_id" android:value="10002106"/>
        <meta-data android:name="login_env" android:value="cg_xz_wan_001"/>

启动服务后,通过http:127.0.0.1:8089/ 可以看到渠道方面的配置参数,如下,这里是可以进行打包(渠道包)和设置渠道参数的操作

1

2

3

4

5

6

7

============>打多渠道服务器<============

一、使用方法:

1、查看配置:http://192.168.2.160:8089/

2、开始打包:http://192.168.2.160:8089/?a=b

3、设置渠道:http://192.168.2.160:8089/?a=c&key=value&...

-------------------------------------------------------------------------------------------------------------

{"appchi_id":"10139","httpPort":"80

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值