今天公司要把APP上线一些渠道,本来想用多渠道打包的,在网上跟着做了下,然后报错。
网上方法貌似都不能用了啊。都是一年前的方法,找不到最新的。
使用后报找不到productFlavors()这个错,查了下好像是这个方法过时了?但是没有见解决办法啊。
这是我Moudle的gradle的所有配置。请教大神指导下啊。

AndroidStudio多渠道打包
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 猫叔聊技术 2016-01-18 04:13关注
友盟多渠道打包
在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] } }
assemble: 允许直接构建一个Variant版本,例如assembleFlavor1Debug。
assemble: 允许构建指定Build Type的所有APK,例如assembleDebug将会构建Flavor1Debug和Flavor2Debug两个Variant版本。
assemble: 允许构建指定flavor的所有APK,例如assembleFlavor1将会构建Flavor1Debug和Flavor1Release两个Variant版本。
按照这样试一下解决 无用评论 打赏 举报