我创建了两种风格(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
那我做错了什么?提前谢谢。
答案 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