Android 产品风味不起作用

The Android Product Flavors doesn't work

我创建了 2 种口味 (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 时 happens.My 文件夹结构如下:

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

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

如果您想在两种口味中使用相同 class 的不同版本,您需要在两种口味中创建它并且 不要将其放入 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