我正在尝试在我的项目中添加两种口味,我已经有了android注释,并且它没有好处但工作正常,但是当我添加两个好处时,MainActivity_类仅在更改时生成一种口味构建变体。 关于如何添加口味并仍使用注释的任何想法?
Android注释版本为'3.2'
我在gradle中的android部分看起来像这样
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
packagingOptions {
exclude 'META-INF/license.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/notice.txt'
}
defaultConfig {
applicationId "$PackageName"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
flavor1 {
}
flavor2 {
}
}
}
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
resourcePackageName "$PackageName"
}
}
答案 0 :(得分:3)
我自己现在使用AndroidAnnotations一段时间了,我有一些项目也需要产品口味。到目前为止,我设法让它发挥作用。
我的猜测是您在apt中错误配置了 resourcePackageName 。
以下是我在(截断的) build.gradle 文件中的操作:
ext {
APP_NAME = "your app name here"
}
defaultConfig {
applicationId APP_GROUP
versionName APP_VERSION
versionCode 1
minSdkVersion 12
targetSdkVersion 21
}
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
resourcePackageName android.defaultConfig.applicationId
}
}
您可能还希望为您使用的每种风格添加自定义applicationId。你可以这样做:
productFlavors {
flavor1 {
applicationId android.defaultConfig.applicationId + ".flavor1"
}
flavor2 {
applicationId android.defaultConfig.applicationId + ".flavor2"
}
}
希望这能解决你的问题;)