1

我正在尝试在我的项目中添加两种风格,我已经有 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"
    }
}
4

1 回答 1

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"
    }
}

希望这可以解决您的问题;)

于 2015-02-09T10:13:10.713 回答