我已经看过几个关于在Android Studio中使用AndroidAnnotations框架编译Android应用程序的讨论和博客,特别是这个,但没有一个帮助我开始.
我正在使用Android Studio 0.8.9,我指向下载的Gradle 2.1二进制文件.我正在使用Ubuntu 14.04.
gradle编译过程说我在给定位置缺少AndroidManifest.xml的副本(请参阅下面的输出)虽然我在使用文件浏览器导航到此文件夹时找到了它.
另请注意,为了删除警告,我更换了
variant.processResources.manifestFile
Run Code Online (Sandbox Code Playgroud)
通过
variant.outputs.processResources.manifestFile
Run Code Online (Sandbox Code Playgroud)
在gradle脚本中.
这是我的gradle构建脚本:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
configurations {
apt
}
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
compile files('libs/androidsvg-1.2.1.jar')
compile 'com.android.support:appcompat-v7:20.0.0'
compile 'org.androidannotations:androidannotations-api:3.0'
apt 'org.androidannotations:androidannotations:3.0'
}
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 20
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs …Run Code Online (Sandbox Code Playgroud) 我有一个Gradle构建脚本,它使用注释处理器(Android Annotations)来生成代码.建筑物很好,直到我添加了一个新的Pro Flavor.我可以构建Free味道,但是当我构建Pro flavor时,注释处理器不会运行.这会导致代码丢失并且构建失败.
这是我的脚本:
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
ext.androidAnnotationsVersion = '3.0-SNAPSHOT';
configurations {
apt
}
dependencies {
compile files('libs/android-support-v13.jar')
compile fileTree(dir: 'libs', include: '*.jar')
apt "org.androidannotations:androidannotations:${androidAnnotationsVersion}"
compile "org.androidannotations:androidannotations-api:${androidAnnotationsVersion}"
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 17
versionCode 29
versionName "2.0.3"
packageName "com.MyCompany.MyApp"
}
productFlavors {
free …Run Code Online (Sandbox Code Playgroud) android gradle annotation-processing android-annotations android-studio
我试图让retrolambda通过与gradle这个Android编译工作.对java 8的更改导致了android注释的一些问题.
我从这些帖子中尝试了几乎所有内容:(在阅读所有这些链接之前更新3)
http://code.google.com/p/android/issues/detail?id=55764
https://bitbucket.org/hvisser/ android-apt
AndroidAnnotations Nothing Generated,Empty Activity
Android studio + Gradle + Android Annotations
如何使用Google Android Gradle Plugin编译AndroidAnnotations?
但我一直得到这些错误:
Gradle:错误:包android.annotation不存在
Gradle:错误:找不到符号类TargetApi
那些gradle警告:
Gradle ::支持处理器'com.googlecode.androidannotations.AndroidAnnotationProcessor'支持的源版本'RELEASE_6'小于-source'1.8'
Gradle ::任何处理器都无法识别以下选项:'[androidManifestFile]'
这是我的build.gradle文件,使用/sf/answers/1176155151/(链接3最热门的解决方案):
buildscript {
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
classpath 'com.google.guava:guava:14.0.1'
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
classpath 'me.tatarka:gradle-retrolambda:1.1.1'
}
}
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
}
apply plugin: 'android'
apply plugin: 'crashlytics'
apply plugin: 'retrolambda'
ext.daggerVersion = '1.0.0'
ext.androidAnnotationsVersion = …Run Code Online (Sandbox Code Playgroud) android gradle java-8 android-annotations android-gradle-plugin
我的项目布局如下:
src/
java
generated
Run Code Online (Sandbox Code Playgroud)
src/java包含jpa实体和查询类,它们使用由hibernate元模型注释处理器生成的jpa元模型类.
将注释处理合并到java插件的最佳方法是什么?
我目前定义了以下任务,但它对compileJava有一个任务依赖,它将失败,因为某些代码依赖于注释处理器生成的类.
task processAnnotations(type: Compile) {
genDir = new File("${projectDir}/src/generated")
genDir.mkdirs()
source = ['src/java']
classpath = sourceSets.test.compileClasspath
destinationDir = genDir
options.compilerArgs = ["-proc:only"]
}
Run Code Online (Sandbox Code Playgroud)