android配置flavor发布渠道包

news/2024/10/18 23:27:44/

因为umeng违反了Google Play的政策规定,所以需要对于gp版本排掉umeng相关的东西

1. build.gradle配置

    signingConfigs {officialConfig {storeFile file('debug.keystore')storePassword ""keyAlias ''keyPassword ""}googlePlayRelease {storeFile file('googlePlay.keystore')storePassword ""keyAlias ''keyPassword ""}}buildTypes {release {// 国内发布版本minifyEnabled falseshrinkResources falseproguardFiles 'proguard-rules.pro'signingConfig signingConfigs.officialConfigbuildConfigField "boolean", "isGooglePlayApp", "false"}googlePlayRelease {// 国外 Google Play 版本minifyEnabled falseshrinkResources falseproguardFiles 'proguard-rules.pro'signingConfig signingConfigs.googlePlayReleasebuildConfigField "boolean", "isGooglePlayApp", "true"}debug {// 国内调试版本minifyEnabled falseshrinkResources falsesigningConfig signingConfigs.officialConfigbuildConfigField "boolean", "isGooglePlayApp", "false"}}// 此处为风格,也就是拆分flavor,我只设置了version。可以设置多个,比如"version", "region"flavorDimensions "version"// 此处设置了umeng和firebase版本productFlavors {umeng {dimension "version"// 非 Google Play 版本的配置}firebase {dimension "version"// Google Play 版本的配置}}// 这里的umeng和firebase实际上就是指定资源文件和源码位置sourceSets {main {jniLibs.srcDirs = ['libs']assets.srcDirs = ['src/main/assets', 'assets/']java {srcDir 'src/main/java'}}umeng {java.srcDirs = ['src/umeng/java']res.srcDirs = ['src/umeng/res']}firebase {java.srcDirs = ['src/firebase/java']res.srcDirs = ['src/firebase/res']}}// 此处就是dependencies {implementation "androidx.multidex:multidex:2.0.1"implementation fileTree(include: ['*.aar', '*.jar'], dir: 'libs')flavorDimensions "version"// 此处就是根据不同的flavor设置不同的依赖productFlavors {umeng {dimension "version"// 国内依赖// release umengreleaseApi 'com.umeng.umsdk:common:9.5.6'releaseApi 'com.umeng.umsdk:asms:1.6.3'releaseApi 'com.umeng.umsdk:push:6.5.8'releaseApi 'com.umeng.umsdk:xiaomi-umengaccs:1.3.2'releaseApi 'com.umeng.umsdk:xiaomi-push:5.1.2'releaseApi 'com.umeng.umsdk:huawei-umengaccs:1.4.1'releaseApi 'com.huawei.hms:push:6.7.0.300'// debug umengdebugApi 'com.umeng.umsdk:common:9.5.6'debugApi 'com.umeng.umsdk:asms:1.6.3'debugApi 'com.umeng.umsdk:push:6.5.8'debugApi 'com.umeng.umsdk:xiaomi-umengaccs:1.3.2'debugApi 'com.umeng.umsdk:xiaomi-push:5.1.2'debugApi 'com.umeng.umsdk:huawei-umengaccs:1.4.1'debugApi 'com.huawei.hms:push:6.7.0.300'}firebase {dimension "version"// 国外依赖googlePlayReleaseImplementation platform('com.google.firebase:firebase-bom:29.0.0')googlePlayReleaseImplementation 'com.google.firebase:firebase-messaging'googlePlayReleaseImplementation 'com.google.firebase:firebase-analytics'}}}

2. 目录配置

src
├── main
│   ├── java
│   │   └── xxx
│   ├── res
│   │   ├── xxx
├── umeng
│   ├── java
│   │   └── xxx
│   ├── res
│   │   ├── xxx
└── firebase├── java│   └── xxx├── res│   ├── xxx

http://www.ppmy.cn/news/1465313.html

相关文章

软件和系统集成项目确认测试报告的费用需要多少?

确认测试报告 软件和系统集成项目确认测试报告的费用因多种因素而异,包括项目的规模、复杂度、测试范围、测试周期等。第三方软件测试机构价格区间一般是几千到几万不等,还有些会根据建设费用的2-5%进行收费。 一般来说,软件和系统集成项目…

电子阅览室能给孩子做什么

电子阅览室为孩子提供了很多活动和资源,可以为他们提供以下服务: 1. 提供电子书籍和儿童读物:电子阅览室通常提供大量的电子书籍和儿童读物,供孩子选择阅读。 2. 提供儿童学习资源:专久智能电子阅览室可以提供各种学习…

【C++】——string模拟实现

前言 string的模拟实现其实就是增删改查,只不过加入了类的概念。 为了防止与std里面的string冲突,所以这里统一用String。 目录 前言 一 初始化和销毁 1.1 构造函数 1.2 析构函数 二 迭代器实现 三 容量大小及操作 四 运算符重载 4.1 bool…

redis 如何获取所有key的信息及值,相关过期时间查询

简单粗暴获取所有key keys * 另一种方式: scan 0 切换数据库: select db Map类型 获取map的数量 hlen key 获取map所有的数据 hvals key 或者 hgetall key 整个哈希表的过期时间: EXPIRE your_hash_key 3600 # 设置哈希表 yo…

第三部分:领域驱动设计之分析模式和设计模式应用于模型

分析模式 分析模式是一种概念集合,用来表示业务建模中的常见结构。它可能只与一个领域有关,也可能跨越多个领域。“分析模式”这个名字本身就强调了其概念本质。分析模式并不是技术解决方案,他们只是些参考,用来指导人们设计特定领…

delphi 语法3

简单类型共包括有六种类型:整型、字符型、布尔型、枚举类型、子界类型、实型。 除实型之外,其它五种类中每一种类型的值域(所有合法的值的集合)中值的数目有限 且其中的值排列有序,其每个值在值域中均有一个序数 n,其前后两个值的…

git使用流程与规范

原文网址:git代码提交流程与规范-CSDN博客 简介 本文git提交流程与规范是宝贵靠谱的经验,它能解决如下问题: 分支差距过大,导致合代码无数的冲突合完代码后发现代码丢失分支不清晰,无法追溯问题合代码耗时很长&…

【VSCode】快捷方式log去掉分号

文章目录 一、引入二、解决办法 一、引入 我们使用 log 快速生成的 console.log() 都是带分号的 但是我们的编程习惯都是不带分号,每次自动生成后还需要手动删掉分号,太麻烦了! 那有没有办法能够生成的时候就不带分号呢?自然是有…