android 实现多渠道打包

前言

目前国内手机厂商较多,并且每个手机厂商都有本身的应用市场,那么若是区分咱们的应用来自哪一个市场呢?这就须要针对不一样的应用市场,进行打包。那么咱们的总不会修改一次打一个包,毕竟程序员都是笔比较懒的。那么有没有什么办法能够一会儿全都应用市场都打包好呢?这就须要多渠道到打包的知识了android

productFlavors

在 build.gradle 中配置下面的内容:程序员

productFlavors {

        yingyongbao{
            manifestPlaceholders = [AM:"应用宝"]
        }
        xiaomi{
            manifestPlaceholders = [AM:"小米应用市场"]
        }
 baidu{
            manifestPlaceholders = [AM:"百度应用市场"]
        }
}

那么这里的 manifestPlaceholders 是什么意思呢?
就是在清单文件中。有 "AM" 这个标签的地方,就会被赋值成 上面配置的内容,如“应用宝”
AndroidManifest.xml 中配置的内容gradle

<meta-data
            android:name="CHANNEL"
            android:value="${AM}" />

而后在 Terminal 中使用 gradlew assembleRelease 进行打包,就能够一会儿所有打包成功。
而后清单文件中的 android:value="${AM}" 会被替换成相应的值。这样就能够进行统计了。ui

相关文章
相关标签/搜索