android studio 多渠道打包

来源:互联网 发布:职场色诱 知乎 编辑:程序博客网 时间:2024/06/08 01:37

一直觉得零碎知识点总结后再写下来,久而久之发现总结的时候反而想不起都有哪些只是碎片,从现在开始,想到一个记录一个

android studio的多渠道打包很好用,基本上大家都知道,不废话,只记录


以友盟推送和百度统计为例

第一步,在AndroidManifest.xml中的application标签下添加相关的meta-data,其中渠道的meta-data修改为下面的格式

 <meta-data            android:name="UMENG_CHANNEL"            android:value="${UMENG_CHANNEL_VALUE}"/>

上面的占位名 UMENG_CHANNEL_VALUE可以修改为自己的命名习惯,只要和后面配置文件中的对应就行

相似的,百度统计的渠道的meta-data也修改为下面的格式

<meta-data            android:name="BaiduMobAd_CHANNEL"            android:value="${BAIDU_CHANNEL_VALUE}"/>

第二步,在配置文件中加入配置代码

在主工程的build.gradle文件的android域里面添加如下代码

productFlavors {        pc {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pc", BAIDU_CHANNEL_VALUE: "pc"]        }        m {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "m", BAIDU_CHANNEL_VALUE: "m"]        }        xiaomi {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi", BAIDU_CHANNEL_VALUE: "xiaomi"]        }        _360 {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360", BAIDU_CHANNEL_VALUE: "360"]        }        baidu {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu", BAIDU_CHANNEL_VALUE: "baidu"]        }        wandoujia {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia", BAIDU_CHANNEL_VALUE: "wandoujia"]        }        huawei {            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei", BAIDU_CHANNEL_VALUE: "huawei"]        }        }    }

如果有更多的渠道需要添加,只需要按照上面的格式复制粘贴修改下渠道名称就可以了;如果你只有一个友盟推送没有百度统计,那么直接把BAIDU_CHANNEL_VALUE相关的删掉就可以了


第三步,打包。

在代码编译没有问题的情况下哈,①你可以选择工具栏中的Build下的 Genetate Signed APK...功能进行打包,按照提示最后点finish前可以选择需要打包的渠道。

②你也可以通过android studio自带的Terminal控制台用指令操作:gradlew assembleRelease指令,如下



这样就可以一键把所有渠道打包,当然渠道多的话需要一些时间,可以趁这会起来活动下胳膊腿,打包出来的apk是未sign的包,也就是未签名的,再用工具批量签名就行了,还可以用各种平台的加固助手操作

最后,我们打包的apk文件保存到了什么地方呢?

保存路径:当前主工程(有时候会添加很多第三方依赖工程)项目文件夹下build/outputs/apk下面就是我们刚才用指令打包的apk文件了


原创粉丝点击