一、马甲包的制作流程

1.配置马甲包的applicationId以及应用名称

在app的build.gradle文件中添加马甲包的配置

android {
signingConfigs {
config {
keyAlias '****'
keyPassword '****'
storeFile file('D:/qianming/****.jks')
storePassword '****'
}
}
compileSdkVersion
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.majiabao"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [APP_NAME: '主包'] // 配置主包的应用名称
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
// 马甲包
majiabao1.initWith(buildTypes.release) // 以release的配置来初始化马甲包配置
majiabao1 {
// 修改马甲包的applicationId
applicationIdSuffix "com.majiabao1"
manifestPlaceholders = [APP_NAME: '第一个马甲包'] // 配置马甲包的应用名称
}
}
}

在AndroidManifest.xml文件中引用APP_NAME

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="${APP_NAME}"
tools:replace="android:label"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">

在Build Variant中就有马甲包对应的版本了,如图:

在Build Variant中分别选择release和majiabao1,分别编译运行项目,可以得到两个不同的应用

2.修改应用图标icon,修改应用资源文件,修改文字描述等

在src目录下新建一个以马甲包命名的目录,并添加应用icon的资源文件,马甲包即可使用对应的应用图标(修改应用资源文件和文字等,都是相同的道理,以修改应用图标为例)如图:

将Build Variant选中为majiabao1,运行app,发现马甲包的应用icon已经修改

3.在AndroidManifest引用applicationId

在AndroidManifest中经常需要通过applicationId定义一些声明等,比如接入极光推送,我们就需要在Manifest文件中声明一下权限,但是马甲包的applicationId和主包是不一样的,所有不能再Manifest文件中写死,这个时候我们就可以通过引用applicationId来动态定义:

<permission
android:name="${applicationId}.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />

Android 马甲包制作流程的更多相关文章

  1. IOS马甲包(诚招大量开发)

    马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...

  2. 实战RPM包制作

    在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...

  3. 新一代开源Android渠道包生成工具Walle

    本文转自:http://tech.meituan.com/android-apk-v2-signature-scheme.html 新一代开源Android渠道包生成工具Walle 新的应用签名方案A ...

  4. cocos 场景制作流程

    前面的话 本文将详细介绍 cocos 场景制作流程 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作组件-实体系统,简单的说,就是以组合而非继承的方式进行实体 ...

  5. 熟悉下apple 马甲包

    一.什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法.马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致. 二.为什么 ...

  6. Android之SystemUI载入流程和NavigationBar的分析

    Android之SystemUI载入流程和NavigationBar的分析 本篇仅仅分析SystemUI的载入过程和SystemUI的当中的一个模块StatusBar的小模块NavigationBar ...

  7. 今天科普一下 iOS马甲包审核以及常见审核问题

    一.什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法.马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致.    二. ...

  8. 这就是Java代码生成器的制作流程

    1. 前言 前几天写了篇关于Mybatis Plus代码生成器的文章,不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场 ...

  9. php-7.1.0 rpm包制作

    nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...

随机推荐

  1. js 封装一个均速动画函数

    //动画函数---任意一个元素移动到指定的目标位置 //element为元素 target为位置 function carToon(element, target) { //设置一个定时器让他循环去增 ...

  2. 使用Swagger生成简单接口文档

    使用swagger通过简单的配置可以生成简单的接口文档: 依赖包: // Swagger2 compile 'io.springfox:springfox-swagger2:2.8.0' compil ...

  3. em 与 rem 区别.

    em 与自身  字体大小有关. rem 与 body 的字体大小有关..

  4. CMakeFiles/species.inc.dir/build.make:57: recipe for target 'CMakeFiles/species.inc' failed

    新装的WSL编译2017.3.4版本的mfix,只要涉及到带化学反应的就会报错: 由于之前从没遇到过,对cmake又不熟悉,所以有些摸不着头脑,后来仔细查看报错提示,发现是在CMakeFiles/sp ...

  5. Spring Boot 例一 实现jsonp接口

    1.新建项目(选择quikstart) 2.增加spring boot 依赖 <dependency> <groupId>org.springframework.boot< ...

  6. PHP操作Access数据库

    ADO是一项微软的技术,ADO指ActiveX数据对象(ActiveX Data Objects). 链接数据库 <?php header("Content-Type:text/htm ...

  7. [转] javascript中的变量和垃圾回收

    [From] http://www.imooc.com/article/4585 基本类型和引用类型 js中的变量虽然不区分类型,但是实际上Ecmascript包含两种类型,基本类型和引用类型. 基本 ...

  8. PIE SDK算法的同步调用

    1.    算法功能简介 同步调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为. PIE SDK支持算法功能的执行,下面对算法的同步调用功能进行介绍. 2.    算法功能实现说明 2. ...

  9. Oracle 单实例数据库安装和real application clusters数据库安装的区别

    在想了解Oracle单实例数据可和RAC数据库前,请确保你已经知道了数据库和实例的关系,如果不了解,请参考Oracle 数据库实例和数据库. 单实例数据库模式 单实例模式下,一个数据库只能通过一个实例 ...

  10. unity规范

    Unity VS脚本自动添加头部注释 http://blog.csdn.net/yupu56/article/details/52326930 Unity3D C#代码注释规范及文档生成 http:/ ...