①:sttdio生成debug版的apk
②:生成签名的apk
这样就生成了一个签名的apk
多渠道打包:
由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。
废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段:
<meta-data android:name="UMENG_CHANNEL" android:value="Channel_ID" />里面的Channel_ID就是渠道标示。我们的目标就是在编译的时候这个值能够自动变化。
第一步 在AndroidManifest.xml里配置PlaceHolder <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> 第二步 在build.gradle设置productFlavors android { productFlavors { xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } _360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } } }或者批量修改
android { productFlavors { xiaomi {} _360 {} baidu {} wandoujia {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }到了这里之后分为两种做法
一: 直接生成打包签名的apk(多渠道)
这样也可以到多个渠道包,并签名了。
二:测试代码添加完毕之后,我们现在点击AS右侧的Gradle,我们此时就可以看到我们刚才添加的xiaomi、qihu360、baidu、wandoujia都出现了,如下图:(这个方法必须之前要要有签名文件,不然下面store file没办法填)
(1)生成debug版的apk
(2)生成没有签名的apk
所以在这之前必须配置签名
这样在build里面会生成
配置完成以后,要引入这样一段话(不然下面还是生成不了签名的apk)
//指定签名为release signingConfig signingConfigs.release
双击下面的assembleRelease 就可以得到我们想要的apk