AndroidAnnotations配置--Android studio

1.引入对android-apt的依赖。在全局build.gradle中文件中添加以下代码。(Project目录下的build.gradle)

repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2+'
    }
}
 

2.设置android-apt参数 。注意把包名换成你的应用的。另外outputs[0]是在新的android-studio的版本中才需要加的。(Module目录下的build.gradle)


apply plugin: 'android-apt'  //添加android-apt插件


apt { arguments { androidManifestFile variant.outputs[0].processResources.manifestFile //androidManifestFile variant.processResources.manifestFile(老版本写法) resourcePackageName "你的包名" } }

3.使用apt引入对androidannotation的依赖。(Module目录下的build.gradle)

dependencies {
    apt 'org.androidannotations:androidannotations:3.2'         
    compile 'org.androidannotations:androidannotations-api:3.2'
   
}

4.最后的build文件应该是这样的。

// Project目录下的build.gradle



buildscript { repositories { mavenCentral() } dependencies { classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2+' } }



//Module目录下的build.gradle

apply plugin: 'com.android.application' apply plugin: 'android-apt' android { compileSdkVersion 21 buildToolsVersion 21.1.2 defaultConfig { applicationId com.tanglikang.annotationtest minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName 1.0 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } apt { arguments { androidManifestFile variant.outputs[0].processResources.manifestFile resourcePackageName com.tanglikang.annotationtest } } dependencies { apt org.androidannotations:androidannotations:3.0+ // add these compile org.androidannotations:androidannotations-api:3.0+ // two lines compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' }

5.重新build工程,系统会自动下载依赖的第三方库。然后就可以使用AndroidAnnotation了。

注:如果出现下列错误,请将dependencies中的“compile fileTree(dir: 'libs', include: ['*.jar'])”删除。

Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)
原文地址:https://www.cnblogs.com/l2rf/p/4971825.html