看到马甲包 很多人应该都知道 也有很多人不知道 知道马甲包的
看到我的文章的话 那里有不足还请多多指教不知道马甲包的 带你看看一个新的世界
好了 废话不多说 看下面的具体操作来实现
在看具体操作之前 我们应该先知道 什么叫马甲包
在App的开发过程中,经常会遇到产品或者运营的同事提出要制作马甲包的需求;马甲包是指与原APP包除了包名,包id,包名称图标等给用户加以区分的东西,其他功能基本不变的APP包。在开发马甲包之前,一定要和产品或者运营的同事讨论清楚马甲包的具体需求,比如需要制作多少个马甲包,马甲包和主包有哪些差别,之后开发的功能是否需要在马甲包上体现等等,只有了解清楚了需求,才能达到事半功倍的效果。
这也是一个粘来的不知道谁总结的马甲包的概念 不是很能理解 马甲包的实际概念其实和比如app换了一个架子 换了一件衣服 但是实际来说的话 本质还是不变的 只是在原来的基础上加入了一些功能,不说那么多的废话了 说了也感觉跟白说似的
开始上代码
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "jinqiang.zhang.com.majiatext"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [APP_NAME: 'jinqiang.zhang.com.majiatext'] // 配置主包的应用名称
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
// 马甲包
majiabao1.initWith(buildTypes.debug) // 以release的配置来初始化马甲包配置
majiabao1 {
// 修改马甲包的applicationId
applicationIdSuffix "com.majiabao1"
manifestPlaceholders = [APP_NAME: '第一个马甲包'] // 配置马甲包的应用名称
}
// 马甲包
majiabao2.initWith(buildTypes.debug) // 以release的配置来初始化马甲包配置
majiabao2 {
// 修改马甲包的applicationId
applicationIdSuffix "com.majiabao2"
manifestPlaceholders = [APP_NAME: '第二个马甲包'] // 配置马甲包的应用名称
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
按照上面的build.gradle文件里进行配置就行 一定要看好不要少任何一个步骤
在这里配置主包的名称
在下面进行配置马甲包的包名 特别强调debug模式和release模式
建议使用debug模式进行配置
之后的话在清单文件里面把下面的一些代码加入
<application
android:allowBackup="true"
android:icon="@mipmap/icon_collection_pre2"
android:label="${APP_NAME}"
tools:replace="android:label"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
配置完成后进行同步
同步完成后打开Build Variants
之后选择
之后进行编译就可以了 就可以看到不一样的app了
android编译的话一般是根据Applicationid进行编译文件
修改资源文件 等字符串资源的话要在src文件夹下创建和你地马甲包一样的后缀名的文件夹
把main文件夹下面的资源文件的文件夹进行修改就可以了
修改完成后记得想运行那个就在Build Variants调到那个马甲包里面就可以了
看一下效果图吧
有的地方我自己也不是很明白 希望有人指点