-
1.多个自动升级sdk的时候
比如想把包放入360和百度的时候,呵呵,大家都懂的,360是最近才开始必须接入他的升级sdk才能上架的。这里就不吐槽了,公司要求要去上架这些应用商城。
打一次包就能搞定这些接入问题,因为我一开始接入的是友盟自动升级,需求的增加就越来越多,ok开始配置:
先来做个假设:假设上面的abc包是360升级的,wandoujia是友盟升级的,baiduyun是百度升级的
定义一个名字为AUTO_TYPE的String类型常量 默认值为umeng放在defaultConfig里面defaultConfig { buildConfigField "String", "AUTO_TYPE", "umeng" }
2.然后配置渠道包
productFlavors { abc { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "abc"] buildConfigField "String", "AUTO_TYPE", "360" } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] buildConfigField "String", "AUTO_TYPE", "umeng" } baiduyun { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baiduyun"] buildConfigField "String", "AUTO_TYPE", "baiduyun" } }
next
Build->Clean Project Build->Rebuild Project
生成了我们想要的文件,就可以运用了
if (ConstantField.AUTO_TYPE_BAIDU.equals(BuildConfig.AUTO_TYPE)){
BDAutoUpdateSDK.silenceUpdateAction(this);//百度静默更新
L.e(TAG,"baidu更新");
}else if(ConstantField.AUTO_TYPE_360.equals(BuildConfig.AUTO_TYPE)){
UpdateManager.checkUpdate(this);
L.e(TAG,"360更新");
}else{
UmengUpdateAgent.update(this);
L.e(TAG,"umeng更新");
}
添加是否打印log这个就无需再说了吧,方法类似,把string改成boolean即可
放两个所学习到的文章