2015-07-02 33 views
0

我創建了兩種風格(com.example.admin.deb)和(com.example.admin.lab_127)而這兩個包之間的區別在MainActivity.java文件中(只是兩行代碼)。在我的build.gradle創建Android產品風味不起作用

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.+' 

}

但是當我改變構建變量沒有happens.My文件夾結構是這樣的:

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

所以我做錯了什麼?提前致謝。

回答

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 
+0

太謝謝你了!這解決了我的問題! –

+0

如果這可以解決您的問題,請將答案標記爲正確。它可以幫助其他用戶。謝謝。 –