android 教你如何创建马甲包
看到马甲包 很多人应该都知道 也有很多人不知道 知道马甲包的
看到我的文章的话 那里有不足还请多多指教不知道马甲包的 带你看看一个新的世界
好了 废话不多说 看下面的具体操作来实现
在看具体操作之前 我们应该先知道 什么叫马甲包
在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调到那个马甲包里面就可以了
看一下效果图吧
有的地方我自己也不是很明白 希望有人指点