1

我想在我的項目中添加兩種風味,我已經有了Android批註,它沒有優惠地工作正常,但是當我添加兩個優勢MainActivity_ class僅在更改構建變體時爲其中一種風格生成。 關於如何添加風味並仍然使用註釋的任何想法?在Android Studio 1.0.1中的Android批註和風味

的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

我認爲這是Android的易插件的責任。你可以諮詢它的問題跟蹤器或SG? – WonderCsabo 2015-02-06 10:30:05

+0

相關'android-apt' [issue](https://bitbucket.org/hvisser/android-apt/issue/34/android-apt-android-annotations-multiple#comment-None)。 – WonderCsabo 2015-02-06 11:45:56

回答

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

希望這能解決您的問題;)