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

    评论

报告相同问题?

悬赏问题

  • ¥15 如何实验stm32主通道和互补通道独立输出
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题