1

I have a requirement Android Product Flavors and Configuration help to maintain and support single code base to distribute multiple clients. I referred few links, It gives a basic idea. My question is actually Am I'm going correct direction. I very new to this kind scenario.

eg: Product name: MohanApp client 1: Cartoon, client 2: Disney, client 3: Pogo,

flavorDimensions "app", "server"
    productFlavors {
        cartoon {
            dimension "app"
            applicationId 'com.cc.whitelabel.cartoon'
            manifestPlaceholders = [
                    appIcon: "@drawable/cartoon_network"
            ]
        }
        disney {
            dimension "app"
            applicationId 'com.cc.whitelabel.disney'
        }
        pogo {
            dimension "app"
            applicationId 'com.cc.whitelabel.pogo'
        }
        dev {
            dimension "server"
        }
        staging {
            dimension "server"
        }
        production {
            dimension "server"
        }
    }

Thanks in Advance.

4

1 回答 1

0

我找到了 Android WhiteLabeling/App Branding/ProductFalvours 的解决方案,在这里我分享我的 build.gradle 来创建应用程序品牌。gradle 文件语法可能因 IDE 版本而异。

工具:

安卓工作室 IDE:3.1

目标版本:27

AppModule build.gradle

android {
    compileSdkVersion 27

    defaultConfig {
        applicationId "com.appmohan"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 2
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    // APK signing configuration
    android.signingConfigs {
        MobileApp { }
    }

    flavorDimensions "app"
    productFlavors {
        cartoon {
            dimension "app"
            applicationId "com.appmohan.cartoon"
            versionName '1.0.1'
            versionCode 2
            minSdkVersion 21
            targetSdkVersion 26
        }
        disney {
            dimension "app"
            applicationId "com.appmohan.disney"
            versionName "1.0.1"
            versionCode 2
            minSdkVersion 21
            targetSdkVersion 26
        }
        pogo {
            dimension "app"
            applicationId "com.appmohan.pogo"
            versionName "1.0.1"
            versionCode 2
            minSdkVersion 21
            targetSdkVersion 26
        }
    }


    android.buildTypes {
        debug {
            //do our url stuff
        }
        stagging {
            //do our url stuff
        }
        release {
            //do our url stuff
        }
    }

    sourceSets.cartoon{
        res.srcDirs = ['res', 'src/cartoon/res']
    }
    sourceSets.disney{
        res.srcDirs = ['res', 'src/disney/res']
    }
    sourceSets.pogo{
        res.srcDirs = ['res', 'src/pogo/res']
    }
}

出于实验和教育目的,我创建了这个应用程序。 GitHub 链接 AndroidWhiteLabel/App Branding/ProductFalvour 感谢 Android Studio 实现的结果。感谢我所有的推荐作者。

快乐编码:)

于 2018-04-20T10:18:49.730 回答