Android Studio中的产品风格
我不能让产品的味道起作用。我有这个渐变Android Studio中的产品风格,android,android-studio,android-productflavors,Android,Android Studio,Android Productflavors,我不能让产品的味道起作用。我有这个渐变 apply plugin: 'com.android.application' android { defaultConfig { minSdkVersion 14 targetSdkVersion 24 compileSdkVersion 27 } signingConfigs { release { } } buildTypes {
apply plugin: 'com.android.application'
android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
compileSdkVersion 27
}
signingConfigs {
release {
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
signingConfig signingConfigs.release
}
}
repositories {
maven { url "https://jitpack.io" }
}
flavorDimensions "dim1", "dim2", "dim3"
productFlavors {
flavor1 {
dimension "dim1"
applicationId "com.example.dim1.app"
}
flavor3 {
dimension "dim2"
applicationId "com.example.dim2.app"
}
flavor3 {
dimension "dim3"
applicationId "com.example.dim3.app"
}
}
sourceSets {
flavor1 {
java.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/java/"]
manifest.srcFile "W:/android-studio-projects/sharedid/app/src/example1/AndroidManifest.xml"
assets.srcDirs = ["W:/android-studio-projects/sharedid/app/src/example1/assets/"]
resources.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/res/", "W:/android-studio-projects/sharedid/app/src/example1/res/"]
}
flavor2 {
java.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/java/"]
manifest.srcFile "W:/android-studio-projects/sharedid/app/src/example2/AndroidManifest.xml"
assets.srcDirs = ["W:/android-studio-projects/sharedid/app/src/example2/assets/"]
resources.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/res/", "W:/android-studio-projects/sharedid/app/src/example2/res/"]
}
flavor3 {
java.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/java/"]
manifest.srcFile "W:/android-studio-projects/sharedid/app/src/example3/AndroidManifest.xml"
assets.srcDirs = ["W:/android-studio-projects/sharedid/app/src/example3/assets/"]
resources.srcDirs = ["W:/android-studio-projects/sharedid/app/src/main/res/", "W:/android-studio-projects/sharedid/app/src/example3/res/"]
}
}
}
dependencies {
api 'com.google.android.gms:play-services-maps:15.0.0'
api 'com.google.android.gms:play-services-location:15.0.0'
api 'com.android.support:appcompat-v7:27.1.1'
api 'com.github.PhilJay:MPAndroidChart:v2.0.8'
}
当我进入“构建|选择变体”时,我只能选择
模块:应用程序
构建变体:flavor1Flavor2Flavor3Debug,Flavor1Flavor2Flavor3发布版
我本想得到
- 以下构建变体:flavor1Debug、flavor2Debug、flavor3Debug、flavor1Release、flavor2Release、flavor3Release
- 没有这样的文件(希望它将采取产品风味之一?)
- 让“主要”清单只定义所有产品口味之间的共享内容
flavorDimensions "dim1"
productFlavors {
flavor1 {
dimension "dim1"
applicationId "com.example.dim1.app"
}
flavor3 {
dimension "dim1"
applicationId "com.example.dim2.app"
}
flavor3 {
dimension "dim1"
applicationId "com.example.dim3.app"
}
}
有关构建变量的更多详细信息,我认为有两个不相关的问题:
- 目前,您有2种构建类型(自动创建的
和debug
)和3个维度(release
、dim1
和dim2
),每种类型都有1个变体(dim3
用于flavor1
,dim1
用于flavor2
,…) 这最多可以提供: 2*1*1*1=2个组合 您应该切换到2种构建类型和1个维度(例如dim2
),其中包含3个变体(dim1
、flaver1
和flaver2
),以便: 2*3=6 APKflavor3
- 你应该有一个主舱单。与其他资源不同,清单不是简单地被覆盖,而是从多个源合并而来(有关更多详细信息,请参阅) 它至少应该包含一个包名(可能不同于最终应用程序ID),如本说明所述:
异常表示无法从AndroidManifest.xml读取packageName。您的风格中实际存在哪些清单文件?但为什么需要三维?您是否尝试只定义一个并使用该变量?您还询问了调试变量。您只定义了一种构建类型:release。添加另一个进行调试。它可以是空的。您可能只需要1个dimension@Cata我现在已经把它改成了一个单一的-结果没有差别,虽然这仍然会产生相同的错误-但是感谢链接