Android 馬甲包制作流程


一、馬甲包的制作流程

1.配置馬甲包的applicationId以及應用名稱

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

android {
    signingConfigs {
        config {
            keyAlias '****'
            keyPassword '****'
            storeFile file('D:/qianming/****.jks')
            storePassword '****'
        }
    }
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.majiabao"
        minSdkVersion 18
        targetSdkVersion 25
        versionCode 1
        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" />

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM