创建马甲包的几个好处

  • 提高应用的曝光率,会在应用商店上传多个应用
  • 为不通过的渠道定制不同的应用,即使用不同的包名
  • 不同的开发环境,创建不同的包名,方便开发测试

创建马甲包的步骤

如果我们要创建多个马甲包可以在app/src的文件下创建对应包名的文件夹如图所示

可以在这个文件夹中创建该包要使用的logo、资源文件和样式等

可以在bulid.gradle中设置打包的信息

plugins {id 'com.android.application'
}android {compileSdkVersion 30buildToolsVersion "30.0.3"defaultConfig {applicationId "com.tieshukaihua.majiabao"minSdkVersion 21targetSdkVersion 30versionCode 1versionName "1.0"flavorDimensions "default"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}signingConfigs {majiabao {storeFile file("./majiabao.jks")storePassword '123456'keyAlias 'majiabao'keyPassword '123456'}majiabao2 {storeFile file("./majiabao.jks")//可以使用不同的签名文件storePassword '123456'keyAlias 'majiabao'keyPassword '123456'}majiabao3 {storeFile file("./majiabao.jks")storePassword '123456'keyAlias 'majiabao'keyPassword '123456'}}productFlavors {majiabao {applicationId "com.tieshukaihua.majiabao"manifestPlaceholders = [UMENG_APPKEY_ID : "60b72ccf6c421a3d97d8a470",UMENG_CHANNEL_ID: "majiabao",]}majiabao2 {applicationId "com.tieshukaihua.majiabao2"manifestPlaceholders = [UMENG_APPKEY_ID : "BBBBBBBBBBBBBB",UMENG_CHANNEL_ID: "BBBBBBBBBBBBBB",]}majiabao3 {applicationId "com.tieshukaihua.majiabao3"manifestPlaceholders = [UMENG_APPKEY_ID : "CCCCCCCCCCCCCC",UMENG_CHANNEL_ID: "CCCCCCCCCCCCCC",]}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'productFlavors.majiabao.signingConfig signingConfigs.majiabaoproductFlavors.majiabao2.signingConfig signingConfigs.majiabao2productFlavors.majiabao3.signingConfig signingConfigs.majiabao3}debug {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'signingConfig signingConfigs.majiabao3}}
}
dependencies {implementation 'com.android.support:appcompat-v7:28.0.0'implementation 'com.android.support.constraint:constraint-layout:2.0.1'testImplementation 'junit:junit:4.+'implementation 'com.umeng.umsdk:common:9.3.8' // (必选)implementation 'com.umeng.umsdk:asms:1.2.1' // asms包依赖(必选)androidTestImplementation 'com.android.support.test:runner:1.0.2'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

如果有不清楚的可以私信联系我

Android项目中创建马甲包相关推荐

  1. Android项目中创建编译期的注解

    ==注解 生命周期为RetentionPolicy.RUNTIME,可在运行时通过反射获取. 生命周期为RetentionPolicy.CLASS, 编译期处理的注解,可以使用APT(Annotati ...

  2. 关于如何正确地在android项目中添加第三方jar包

                  在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception ...

  3. android app 马甲包,关于Android多渠道打包和马甲包问题

    多渠道打包 最近项目用到多渠道打包,虽然网上又很多资料, 但是我在实际使用的过程中还是遇到了些问题, 在这里记录下,希望能帮助到你! 首先配置你的渠道信息 : 配置渠道信息 这个时候渠道使用的签名配置 ...

  4. flutter打开android界面,在已有Android项目中使用Flutter

    实现效果,在已存在的android项目中接入flutter,即android调用开启flutter页面(使用android打开flutter的指定页面),flutter调用原生android方法 步骤 ...

  5. 在原有Android项目中快速集成React Native

    前言 对于现有的大多数项目来说都不是从头构建的,而要在原有项目的基础上引入React Native则肯定和用react-native init xxx创建工程不同.因此下面就来说下具体操作.不过在真正 ...

  6. 在Android项目中使用AspectJ

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/8888459.html 什么是AOP AOP是 Aspec ...

  7. android开发使用c+_如何在Android项目中开始使用C ++代码

    android开发使用c+ by Onur Tuna 通过Onur Tuna 如何在Android项目中开始使用C ++代码 (How to start using C++ code in your ...

  8. Android公共jar,使用JitPack管理Android项目中公共模块库

    随着项目的功能越来越多,代码和模块维护也越来越复杂,为了减少主项目的代码量,一般都会将一些公共使用的类或者功能模块抽离出来,与主项目解耦分离,当主项目中需要使用的时候,直接进行引用即可. 现在Andr ...

  9. (最新react-native-0.59.5) 如何将ReactNative项目集成到现有得Android项目中(两种实现方法之一)

    背景:最近在学习React-Native相关的知识,有个需求,如果已经存在一个成熟的Android 或者 IOS项目,如何实现在后续的开发中用RN来实现部分功能.再此我只是讲解一下Android de ...

最新文章

  1. 使用 dockerfile 创建镜像
  2. HR吐槽BAT员工:不要把平台的光环当成自己的,我们需要造火箭的。
  3. protoc文件生成cs文件
  4. POJ - 3436 ACM Computer Factory(最大流+输出残余网络)
  5. java依赖注入_Java依赖注入选项
  6. 前端实现炫酷动效_20个网页动效设计的炫酷神器
  7. LSA类型讲解——LSA-5(第5类LSA——Autonomous System External LSA)、LSA-4(第四类LSA——ASBR Summary LSA)讲解
  8. 正则表达式系统教程.CHM
  9. 基于BERT 的中文数据集下的命名实体识别(NER)
  10. 动手写个数字输入框2:起手式——拦截非法字符
  11. STL---栈和队列
  12. 启明星Exchange/outlook预定会议室终端显示解决方案
  13. 黑客帝国中代码雨如何实现?用 Python 就可以!
  14. aforge 学习-命名空间中文理解
  15. Sophix介绍与实践
  16. 工欲善其事必先利其器 突然的感悟
  17. 罗德里格旋转和李群、李代数的指数映射的关系
  18. 首个实时全球空中交通监控系统在北大西洋上空全面投入运行和试用
  19. 抓铁有力榜:踏石有印,抓铁留痕
  20. 设计开发必须收藏的资源网站

热门文章

  1. Android虚拟机、模拟器识别
  2. 分布式链路追踪opentracing-go jaeger小示例
  3. 解决在MyEclipse中,process报launching client等待的问题
  4. ZooZ推出应用内移动支付SDK
  5. 基本面分析 ≠ 基本面量化投资?
  6. html中数字的格式设置,fmt:formatNumber 标签 | 菜鸟教程
  7. Win2016 安装及配置 + 存储卷管理
  8. PDF如何提取其中一页,PDF提取页面的方法
  9. 【EasyUI篇】Combo自定义下拉框组件
  10. [C#] 控制系统音量-第二章