Android产品风味不起作用

时间:2015-07-02 14:17:57

标签: android build.gradle android-productflavors

我创建了两种风格(com.example.admin.deb)和(com.example.admin.lab_127)。这两个软件包之间的区别在于MainActivity.java文件(只有两行代码)。在我创建的build.gradle中

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.example.admin.deb"
    minSdkVersion 18
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

productFlavors{
    pro {
        applicationId "com.example.admin.lab_127"
    }
    deb {
        applicationId "com.example.admin.deb"
        dependencies {
            compile 'com.jakewharton:butterknife:5.1.2'
            compile 'com.squareup.picasso:picasso:2.3.4'
            compile 'org.lucasr.dspec:dspec:0.1.1'

        }
    }
}

}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.+'

}

但是当我更改Build Variant时没有任何反应。我的文件夹结构如下:

-app
----manifests
------------AndroidManifest.xml
----java
--------com.example.admin.deb
-----------MainActivity.java
--------com.example.admin.lab_127
-----------data
-----------ItemAdapter.java
-----------MainActivity.java
----res

那我做错了什么?提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果你想在这两种口味中拥有相同类的不同版本,你需要在两种口味中创建它,不要将它放在src / main / java 中。在你的情况下:

src/deb/java/com/example/admin/deb/MainActivity.java
src/pro/java/com/example/admin/deb/MainActivity.java

您应该实现下一个结构:

app
  src
    deb
      java
         com.example.admin.deb
            MainActivity.java
    main
      java
         com.example.admin.deb
      res
    pro
      java
         com.example.admin.deb
            MainActivity.java