Android开发Gradle之打多渠道包

打包配置:https://www.jianshu.com/p/afdaba526d33
AndroidManifest.xml 里设置动态渠道变量

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />

在 build.gradle 设置 productFlavors , 这里假定我们需要打包的渠道为360、百度。

android {  
    ...
    productFlavors {
        qh360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        }
       
    } 
  ...
}

或者批量修改

android {  

    productFlavors {
        qh360 {}
        baidu {}
    }  

    productFlavors.all { 
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
    }
}

android stuido 3.0新增:在app/gradle文件中加上 flavorDimensions 'versionCode' 否则会报错All flavors must now belong to a named flavor dimension。

android {
  ...
  flavorDimensions 'versionCode'
  ...
}
    productFlavors {

        qh360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
            dimension "channel"
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
            dimension "channel"
        }

    }
打包APK
生成的APK
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容