Android 马甲包制作流程
一、马甲包的制作流程
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 马甲包制作流程的更多相关文章
- IOS马甲包(诚招大量开发)
马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...
- 实战RPM包制作
在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...
- 新一代开源Android渠道包生成工具Walle
本文转自:http://tech.meituan.com/android-apk-v2-signature-scheme.html 新一代开源Android渠道包生成工具Walle 新的应用签名方案A ...
- cocos 场景制作流程
前面的话 本文将详细介绍 cocos 场景制作流程 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作组件-实体系统,简单的说,就是以组合而非继承的方式进行实体 ...
- 熟悉下apple 马甲包
一.什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法.马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致. 二.为什么 ...
- Android之SystemUI载入流程和NavigationBar的分析
Android之SystemUI载入流程和NavigationBar的分析 本篇仅仅分析SystemUI的载入过程和SystemUI的当中的一个模块StatusBar的小模块NavigationBar ...
- 今天科普一下 iOS马甲包审核以及常见审核问题
一.什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法.马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致. 二. ...
- 这就是Java代码生成器的制作流程
1. 前言 前几天写了篇关于Mybatis Plus代码生成器的文章,不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场 ...
- php-7.1.0 rpm包制作
nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...
随机推荐
- R语言排序函数汇总
总结: 1.sort是直接对向量排序,返回原数值: 2.order先对数值排序,然后返回排序后各数值的索引: 3.rank返回原数据各项排名,有并列的情况: 4.arrange是dplyr包中的,可对 ...
- Docker镜像的导出和载入
https://www.cnblogs.com/lishidefengchen/p/10564765.html
- Kibana6.x.x源码分析--import相关说明
/** * 模块的引入规则: * 不带路径的去node_modules中去找: * 带路径的去相应的路径中去找: * 模块可以不加后缀名,node会依次尝试.mjs..js..json..node 这 ...
- UVA - 10298 后缀数组(仅观赏)
题意:求最小循环节 \(KMP\)可以20ms通过,而\(da\)实现的后缀数组并无法在3000ms内通过 听说要用\(dc3\)才勉强卡过,这里仅列出\(da\)实现 #include<ios ...
- datetime和date如何转json
import json from datetime import datetime, date class MyJson(json.JSONEncoder): def default(self, o) ...
- Linux设备驱动开发基础--内核定时器
1. Linux内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 <Linux/timer.h> 和 kernel/timer.c 文件 ...
- PIE SDK元素事件的监听
1功能简介 元素在操作的过程中,如添加,删除,选中等操作都需要有事件的监听,PIE SDK支持对元素操作事件的监听,下面对元素事件的监听进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一 ...
- Python学习 day05
数据类型划分 数据类型可分为:可变数据类型,不可变数据类型 不可变数据类型:bool.int.str.元祖 -- 不可变数据类型又称为可哈希的 可变数据类型:list.dict.se ...
- Oracle RAC集群搭建(一)-ASM共享存储卷
01, ASM共享存储卷 安装集群的话,必须要有共享磁盘,目的是为作裁决磁盘使用.还需要有数据文件的共享磁盘 02,规划 主机 裁决磁盘 数据 rac1 1G*1 20 ...
- mysql 数据存储引擎区别
一,存储类型 二 , MyISAM默认存储引擎 MyISAM 管理非事务表.是ISAM 的扩展格式.除了提供ISAM里所没有的索引的字段管理等的大量功能.MyISAM 还使用一种表格锁定的机制.来优化 ...