博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AndroidStudio3.0多渠道打包
阅读量:6228 次
发布时间:2019-06-21

本文共 2868 字,大约阅读时间需要 9 分钟。

###1、在AndroidManifest.xml中添加

android:name="CHANNEL"android:value="${CHANNEL_VALUE}" />复制代码

###2、在app模块下的build.gradle中添加一下代码

android {    defaultConfig {        // 默认是umeng的渠道        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]       flavorDimensions "release"    }    lintOptions {        abortOnError false    }    signingConfigs {        debug {            storeFile file("../keystore/xiaoxing.jks")            storePassword "xuxingxing"            keyAlias "xiaoxing"            keyPassword "xuxingxing"        }        release {            storeFile file("../keystore/xiaoxing.jks")            storePassword "xuxingxing"            keyAlias "xiaoxing"            keyPassword "xuxingxing"        }    }     buildTypes {        debug {            minifyEnabled false            buildConfigField "boolean", "LOG_DEBUG", "true"        }        release {            minifyEnabled false            // Zipalign优化            zipAlignEnabled true            // 移除无用的resource文件            shrinkResources false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            signingConfig signingConfigs.release            // 自定义输出配置            applicationVariants.all { variant ->                variant.outputs.all { output ->                    def outputFile = output.outputFile                    if (outputFile != null && outputFile.name.endsWith('.apk')) {                        // 输出apk名称为JPay_0.0.1_xiaomi.apk                        def fileName = "xiaoxing_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"                      // output.outputFile = new File(outputFile.parent, fileName)                        outputFileName = new File("", fileName)                    }                }            }        }    }    //多渠道打包    productFlavors {        maqigou {            dimension "release"            // 每个环境包名不同            applicationId "com.qingqu.wc.maqi"            // 动态添加 string.xml 字段;            // 注意,这里是添加,在 string.xml 不能有这个字段,会重名!!!            resValue "string", "app_name", "瑪奇購"            resValue "bool", "auto_updates", 'false'            // 动态修改 常量 字段            buildConfigField "String", "ENVIRONMENT", '"瑪奇購"'            // 修改 AndroidManifest.xml 里渠道变量            manifestPlaceholders = [CHANNEL_VALUE: "maqigou"                                    , app_icon   : "@mipmap/logo"]        }    }    productFlavors.all {        flavor -> flavor.manifestPlaceholders = [CHANNEL_VALUE: name]    }}复制代码

###3、说明

AndroidStudio3.0版本多渠道打包和之前的版本打包的区别: ① 在 defaultConfig 中添加 flavorDimensions "release,debug" ② 在buildTypes 中release 中 之前的写法是 output.outputFile = new File(outputFile.parent, fileName) 现在改为 outputFileName = new File("", fileName) ③ 在productFlavors 中的maqigou 添加 dimension "release"或者dimension "debug"

转载于:https://juejin.im/post/5a33279a5188250690541254

你可能感兴趣的文章
一条命令配置好ssh免密登录
查看>>
(译 & 转载) 2016 JavaScript 后起之秀
查看>>
代码迭代的几种方式
查看>>
GB(一)
查看>>
Gitter:高颜值GitHub小程序客户端诞生记
查看>>
Swift 烧脑体操(二) - 函数的参数
查看>>
V8十年故事:从农场诞生的星球最强JS引擎
查看>>
微服务网关Kong 1.0正式发布!提供100+项功能
查看>>
《The Startup Way》作者访谈
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
大规模集群中Docker镜像如何分发管理?试试Uber刚开源的Kraken
查看>>
阿里巴巴陈武:通过亿级用户App的实践验证,锤炼高质量APM体系
查看>>
高效运维最佳实践:如何做好On-call和事故响应?
查看>>
矩阵:如何使用矩阵操作进行 PageRank 计算?
查看>>
C# 8的新提案:new关键字类型推断
查看>>
方面和服务,差别大吗?
查看>>
Rust 和Erlang的对比
查看>>
C# 8中的默认接口方法
查看>>
微信小程序wx:for和wx:for-item的正确用法
查看>>
iOS开源项目周报1222
查看>>