使用gradle多渠道打包
Posted jhcelue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gradle多渠道打包相关的知识,希望对你有一定的参考价值。
以友盟的多渠道打包为例,如果我们须要打包出例如以下渠道:UMENG, WANDOUJIA, YINGYONGBAO。
第一种方法。是须要创建文件的。
我们在写完我们的代码之后,在app/src以下。分别创建和main同级目录的目录umeng, wandoujia, yingyongbao,这三个目录里面都各仅仅有一个androidManifest.xml文件,文件仅仅须要例如以下:
然后在你的build.gradle的android{}节点里面,加入productFlavors节点,代码例如以下:
注意这里的flavors的名字要和你的目录的名字相应。这样配置之后,构建的就是多渠道的APK了。
另外一种方法,不用创建那些文件,它使用的是Gradle Android插件里的还有一个功能,manifestPlaceholders。
在这样的方法中。你仅仅须要在AndroidManifest.xml中。对友盟的渠道进行这样配置:
然后相同使用productFlavors。只是这时它的配置是这种:
在上面其中。我们也能够指定一个默认的渠道名。假设须要的话。指定默认的值是在defaultConfig节点其中加入例如以下内容:
这里的Unspecified换成你实际上的默认的渠道名。
使用manifestPlaceholders的这样的配置,相同适用于manifest的其它配置。比方你须要在不同渠道公布的apk里面。指定不同的启动Activity。比方在豌豆荚里面公布的。启动的Activity显示的是豌豆荚首发的界面,应用宝里面启动的是应用宝首发的界面(哈哈,有点坏)。你就能够对你的activity的值使用${activity_name}的方式,然后在productFlavors里面配置这个${activity_name}的值。
以上是关于使用gradle多渠道打包的主要内容,如果未能解决你的问题,请参考以下文章
gradle打包android (实现外部导入签名文件多渠道打包导入ant脚本)
手把手教你使用gradle mulchannel插件,进行多渠道打包