que inventor herramientas componentes app android gradle android-apt android-jack-and-jill

inventor - La nueva cadena de herramientas Jack se bloquea al usar el complemento android-apt



gnu toolchain (2)

Desde la versión preliminar de Android Studio 2.2, puede utilizar procesadores de anotaciones con el nuevo compilador Jack.

Si desea que se aplique un procesador de anotaciones en el momento de la compilación pero no se incluya en su APK, use el alcance de dependencia annotationProcessor en build.gradle nivel de build.gradle :

dependencies { compile ''com.google.dagger:dagger:2.0'' annotationProcessor ''com.google.dagger:dagger-compiler:2.0'' }

También puede aplicar procesadores de anotación para variantes de compilación específicas:

debugAnnotationProcessor ''com.google.dagger:dagger-compiler:2.0''

El procesamiento de anotaciones requiere Android Gradle Plugin versión 2.2.0-alpha1 o superior, por lo que necesita que la actualización a 2.2 sea obligatoria. Para usar el complemento, en build.gradle nivel de build.gradle :

classpath ''com.android.tools.build:gradle:2.2.0-alpha1''

Puede encontrar algo de información en las Herramientas de tecnología de documentos de Android o here de forma más concisa y en funcionamiento , incluyendo información sobre los marcos de procesamiento de anotaciones más populares, como Dagger 2.

Estoy tratando de construir un proyecto simple con la nueva cadena de herramientas de Jack . Mi proyecto se basa en el complemento android-apt (usa alguna herramienta de procesamiento de anotaciones, pero se produce un error de compilación, incluso antes de que intentara agregar esta herramienta). Aquí está mi script de compilación del módulo (estoy usando Android Studio 1.3 y gradle plugin 1.3.0 ):

apply plugin: ''com.android.application'' buildscript { repositories { jcenter() } dependencies { classpath ''com.neenbedankt.gradle.plugins:android-apt:1.6'' } } apply plugin: ''android-apt'' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.netimen.ui.demo" minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName "1.0" useJack=true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } } dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:22.2.0'' }

Cuando intento sincronizar mi proyecto, obtengo el siguiente resultado:

Error:Could not find property ''options'' on task '':demo:compileDebugJavaWithJack''.

Cuando intento ejecutar gradlew assembleDebug --stacktrace obtengo lo siguiente:

org.gradle.api.ProjectConfigurationException: A problem occurred configuring project '':demo''. at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79) at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:487) at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:85) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47) at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:49) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) Caused by: groovy.lang.MissingPropertyException: Could not find property ''options'' on task '':demo:compileDebugJavaWithJack''. at org.gradle.api.internal.AbstractDynamicObject.propertyMissingException(AbstractDynamicObject.java:43) at org.gradle.api.internal.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:35) at org.gradle.api.internal.CompositeDynamicObject.getProperty(CompositeDynamicObject.java:97) at com.android.build.gradle.tasks.JackTask_Decorated.getProperty(Unknown Source) at com.neenbedankt.gradle.androidapt.AndroidAptPlugin.configureVariant(AndroidAptPlugin.groovy:51) at com.neenbedankt.gradle.androidapt.AndroidAptPlugin$_apply_closure1_closure3.doCall(AndroidAptPlugin.groovy:25) at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67) at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:110) at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:115) at org.gradle.api.DomainObjectCollection$all$1.call(Unknown Source) at com.neenbedankt.gradle.androidapt.AndroidAptPlugin$_apply_closure1.doCall(AndroidAptPlugin.groovy:24) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25) at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87) at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31) at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source) at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67) ... 41 more

Cuando intenté eliminar el complemento de Android-apt , el problema desapareció.


Edición : A partir del último proceso de anotación de Android Gradle plugin (2.2) está incorporado, también es compatible con jack . He escrito los pasos para migrar desde Android-apt

Respuesta antigua:

La tarea del compilador Jack todavía no admite opciones de paso para el procesamiento de anotaciones, ya que todavía es experimental. El compilador Jack sí admite el procesamiento de anotaciones, pero esto aún no está expuesto en el complemento Gradle. Cuando eso suceda, android-apt probablemente también se actualizará para apoyar a Jack.