所以我想尝试新的 Android Studio 并导入我的 eclipse 项目(我生成了一个 gradle 构建文件)。工作得很好。
唯一似乎不起作用的库是 AndroidAnnotations。我在 File > Settings > Compiler > Annotation Processing 下选择了 androidannotations-2.7.jar 文件。
作为生产源目录,我选择了“gen”。但是没有生成像 MainActivity_ 这样的生成文件。我做错了什么?
所以我想尝试新的 Android Studio 并导入我的 eclipse 项目(我生成了一个 gradle 构建文件)。工作得很好。
唯一似乎不起作用的库是 AndroidAnnotations。我在 File > Settings > Compiler > Annotation Processing 下选择了 androidannotations-2.7.jar 文件。
作为生产源目录,我选择了“gen”。但是没有生成像 MainActivity_ 这样的生成文件。我做错了什么?
我遇到了同样的问题,按照使用 intelliJ 配置 aa 的说明进行操作,现在它就像一个魅力一样工作。
AA intelliJ 配置页面会将您指向这篇文章...
...上面的帖子将引导您在 intelliJ 中设置各种库,滚动到底部以获取 AA。
我必须做的我不必在 Eclipse 中做的主要事情是转到 Preferences > Compiler > Annotation Processors 并将我的处理器路径设置为...
[AA 罐子路径]/androidannotations-2.7.jar:[AA 罐子路径]/androidannotations-api-2.7.jar:[AA 罐子路径]/codemodel-2.4.1.jar
这对我有用:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
configurations {
apt
}
repositories {
mavenRepo url: 'https://oss.sonatype.org/content/repositories/snapshots/'
}
ext.androidAnnotationsVersion = '3.0-SNAPSHOT';
dependencies {
compile 'com.android.support:support-v4:18.0.+'
apt "org.androidannotations:androidannotations:$ext.androidAnnotationsVersion"
compile "org.androidannotations:androidannotations-api:$ext.androidAnnotationsVersion"
}
android {
compileSdkVersion 18
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
}
android.applicationVariants.all { variant ->
ext.aptOutput = file("${project.buildDir}/source/apt_generated/${variant.dirName}")
ext.aptOutput.mkdirs()
variant.javaCompile.options.compilerArgs += [
'-processorpath', configurations.apt.asPath,
'-AandroidManifestFile=' + variant.processResources.manifestFile,
'-s', ext.aptOutput
]
}
之后,我需要build/sources/apt-generated/debug
在 Android Studio 中标记为源,方法是右键单击它并选择Mark Directory as
>Source Root
如果您在编译时没有遇到问题,并且刚刚在 IDE 中看到生成的类,那么您需要检查target/generated-sources/annotations是否被选中为Source Folder。
那将是 File > Project Structure > Modules > Sources 选项卡,然后查找文件夹并将其标记为Sources。该文件夹将变为蓝色并列在“源文件夹”列表中。
似乎有一种方法可以让 Android Studio 与 AndroidAnnotations 一起工作
如果您尝试将 Android Studio 与运行 Android Annotations 的项目一起使用,您可能会遇到一个神秘的编译器问题:
为注释元素找到错误类型的数据 public abstract int com.googlecode.androidannotations.annotations.EActivity.value() (找到 int 类型的数据)
问题是找不到 R 类。默认情况下,Android Studio 不会像 eclipse 那样将 R.java 放入 gen 目录。解决方案是进入 Project Settings -> Facets -> 为您的项目选择 Android facet -> Compiler 选项卡,然后将“R.java 和 Manifest.java 文件”从“Run process-resources Maven task before Make”更改为“由 IDE 生成”。
由于 Android Studio 基于 IntelliJ,您是否尝试遵循AndroidAnnotation wiki 上的配置指南?
如果你使用 gradle,你应该查看这个页面,它解释了如何配置 AndroidAnnotation 的插件:
buildscript {
repositories {
mavenCentral()
}
def gradleAndroidAnnotationsPluginVersion = '0.3.0'
dependencies {
classpath "net.ealden.gradle.plugins:gradle-androidannotations-plugin:$gradleAndroidAnnotationsPluginVersion"
}
}
apply plugin: 'androidannotations'
apply plugin: 'idea'
androidAnnotationsVersion = '2.2'
我还没有尝试过这个新的 IDE。我会尽快检查的。