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: ...
随机推荐
- socket长连接 GCDAsyncSocket
基础: http://www.2cto.com/kf/201609/546974.html 转自: http://blog.csdn.net/u013282507/article/details/52 ...
- SpringBoot 入门 Demo
SpringBoot 入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...
- Qt 学习之路 2(56):使用模型操作数据库
Qt 学习之路 2(56):使用模型操作数据库 (okgogo: skip) 豆子 2013年6月20日 Qt 学习之路 2 13条评论 前一章我们使用 SQL 语句完成了对数据库的常规操作,包括简单 ...
- eclipse 与my eclipse区别,IDE
ecilpse:是一个平台,通过相关插件可以作为c/c++,java,J2EE,PHP,python,Flex等的IDE IDE:集成开发环境(IDE,Integrated Development E ...
- Python web前端 03 CSS属性
Python web前端 03 CSS属性 一.文字.文本属性 1.文字属性 font-family #字体类型浏览器默认的字体是微软雅黑,字体中有多个字体的时候,如果前面的字体没有就使用后面的字体 ...
- 【算法笔记】B1041 考试座位号
1041 考试座位号 (15 分) 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生 ...
- C#.net地址传参汉字乱码解决方案
C#.net地址传参汉字乱码解决方案 web.config文件: <system.web> <globalization requestEncoding="GB2312 ...
- SQL中的正则表达式
[转自] http://blog.csdn.net/weiwenhp/article/details/6943834 当我们要进行一些简单的糊涂查询时用百分号(%),通配符(_)就可以了.其中%表达任 ...
- CentOS-pam认证机制简介
前言 linux下PAM模块全称是Pluggable Authentication Module for linux(可插入式授权管理模块),该由Sun公司提供,在Linux中,PAM是可动态配置的, ...
- 墨菲定律&吉德林法则&吉尔伯特定律&沃尔森法则&福克兰定律
一.墨菲定律:越害怕什么,就越会发生什么 二.吉德林法则:把问题清楚地写下来,就已经解决一半了 三.吉尔伯特定律:工作中的最大问题就是没人跟你说该如何去做 四.沃尔森法则:把信息和情报排在第一位,金钱 ...