目前国内手机厂商较多,而且每一个手机厂商都有自己的应用市场,那么如果区分我们的应用来自哪个市场呢?这就需要针对不同的应用市场,进行打包。那么我们的总不会修改一次打一个包,毕竟程序员都是笔比较懒的。那么有没有什么办法可以一下子全都应用市场都打包好呢?这就需要多渠道到打包的知识了
productFlavors 在 build.gradle 中配置下面的内容:
productFlavors {
yingyongbao{
manifestPlaceholders = [AM:"应用宝"]
}
xiaomi{
manifestPlaceholders = [AM:"小米应用市场"]
}
baidu{
manifestPlaceholders = [AM:"百度应用市场"]
}
}
那么这里的 manifestPlaceholders 是什么意思呢? 就是在清单文件中。有 "AM" 这个标签的地方,就会被赋值成 上面配置的内容,如“应用宝” AndroidManifest.xml 中配置的内容
然后在 Terminal 中使用 gradlew assembleRelease 进行打包,就可以一下子全部打包成功。
然后清单文件中的 android:value="${AM}" 会被替换成相应的值。这样就可以进行统计了。