好久没写博客了,感觉都要荒废了,最近突然又想起来了,正好公司的项目中用到了多个环境,每次更换环境的时候都要改包名然后再打包,5个环境打包一次就得花掉30分钟的时间。于是在网上研究了一下多渠道打包之后,修改了自己的配置,试了一下,是可以的,这下为我节约的不少的时间,一起来看具体的操作步骤:
1.第一步,首先在自己的清单文件中,也就是AndroidManifest中的application下面添加<meta-data节点:
<meta-data
android:name="PACKAGE_NAME"
android:value="${PACKAGE_NAME}" >
</meta-data>
在这里,value的值即为gradle文件中我们要配置的包名,在这里我们使用的是占位符,编译器在编译的时候回自动去匹配gradle中的productFlavors节点下的manifestPlaceholders中的值。
2.在build.gradle文件中android节点下增加子节点productFlavors,然后配置manifestPlaceholders的值,该值为我们的包名,然后再增加applicationId,也是我们的包名,下面是我的配置:
productFlavors {
demostic_test_release{//国内测试
manifestPlaceholders = [PACKAGE_NAME:"com.demostic.demostic_test"]
applicationId "com.demostic.demostic_test"
}
demostic_product_release{//国内生产
manifestPlaceholders = [PACKAGE_NAME:"com.demostic.demostic_product"]
applicat