Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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

Estoy tratando de construir un proyecto sencillo con la nueva cadena de herramientas de Jack . Mi proyecto se basa en el complemento androide-apt (utiliza alguna herramienta de procesamiento de anotaciones, pero genera errores, incluso antes de intentar agregar esta herramienta). Aquí está mi script de compilación de módulos (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' } 

Recibo el siguiente ouptup, cuando intento sincronizar mi proyecto:

  • Plugins incompatibles para android-apt después de actualizar a Android Studio 2.3
  •  Error:Could not find property 'options' on task ':demo:compileDebugJavaWithJack'. 

    Cuando intento funcionar gradlew assembleDebug --stacktrace consigo 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é quitar el plugin de android-apt , el problema desapareció.

  • Cómo deshabilitar lint abortOnError en Android Gradle Plugin desde el nivel superior del directorio de proyectos múltiples
  • ¿Es posible crear un estado personalizado para su uso en un StateListDrawable?
  • SQLite: No se puede enlazar argumento en el índice 1 porque el índice está fuera de rango. La sentencia tiene 0 parámetros
  • ¿Cómo empezar siempre desde una actividad de inicio en Android?
  • ¿Puedo obtener Uri de un archivo de imagen de su nombre?
  • Cambiar el código de versión en AndroidManifest no funciona
  • 2 Solutions collect form web for “La nueva cadena de herramientas de Jack se bloquea al usar el complemento de android-apt”

    Editar : A partir de la última Android Gradle plugin (2.2) de anotación de procesamiento está construido en, también apoyo jack . He anotado los pasos para migrar desde android-apt

    Respuesta antigua:

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

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

    Si desea que un procesador de anotaciones se aplique en tiempo de compilación pero no se incluya en su APK, utilice el ámbito 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 construcció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 para que necesite la actualización a 2.2 es obligatorio. Para usar el complemento, en build.gradle nivel de build.gradle :

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

    Puede encontrar alguna información en Herramientas tecnológicas de Android Tools o aquí en más conscise y levantarse y ejecutar formulario, incluyendo algunos información sobre marcos populares de procesamiento de anotaciones, como Dagger 2.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.