Android应用程序的多频段应用程序

时间:2016-03-01 11:44:47

标签: java android android-layout android-fragments

客户一张图片

CLient one image

客户两张图片

CLient Two

我需要开发一个具有相同业务逻辑的应用程序。但主题,颜色标志图标和启动器图标因客户而异。

现在我需要根据客户端列表构建apk。我发现使用了productFlavors。

http://blog.robustastudio.com/mobile-development/android/building-multiple-editions-of-android-app-gradle/

我面临的问题我需要为每个客户端创建不同的package,res文件夹以使用productFlavors。我,不想创建不同的包以及不同的资源文件夹。

我怎样才能做到这一点?是否有前缀或后缀名称的替换标记?

这是项目结构。

project structure

2 个答案:

答案 0 :(得分:1)

但是,在你的情况下,Android中的Product Falvours应该是最好的选择。它并不像你现在想的那么复杂。设置完成后,维护应用程序的每个版本和变体都非常有用。

  

我面临的问题我需要创建不同的包,res文件夹   为每个客户使用productFlavors。我,不想创造   不同的包以及不同的资源文件夹。

AFAIK,你只需要创建不同的包和类,它们的逻辑不同,不需要复制所有这些。创建res文件夹并不困难,因为它只需要一次。

答案 1 :(得分:0)

project structure

这是我找到解决问题的解决方案。

  1. 创建了一个新的客户名称资源文件夹,并更改了color.xml,启动器图标等....
  2. 这是gradle文件更改

    android{
        defaultConfig {
                applicationId "com.deerwalk.healthportal"
                minSdkVersion 15
                targetSdkVersion 23
                versionCode 1
                versionName "1.0"
            }
            buildTypes {
                release {
                    minifyEnabled false
                    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                }
            }
                productFlavors {
                        deerwalk {
                            applicationId
                            "com.abc.xyz"
                            versionName "1.0"
                        }
                        sdemo {
                            applicationId
                            "com.abc.xyz"
                            versionName "1.0"
                        }
                        tdemo {
                            applicationId
                            "com.abc.xyz"
                            versionName "1.0"
                        }
                    } }
    

    Android Studio完成我们需要的所有事情,以颜色等指向同名。