wangbin_learn 2016-01-18 02:15 采纳率: 0%
浏览 1915

AndroidStudio多渠道打包

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

  • 写回答

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版本。
    按照这样试一下

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料