Cómo configurar AspectJ en Android Studio

Estoy tratando de configurar AspectJ en Android Studio .
Pero después de todos los ensayos y errores no funciona! Sorprendentemente, soy capaz de hacer que funcione con la versión Eclipse Kepler

Los pasos que seguí para Android Studio

  1. Ejemplo creado Android Project
  2. Archivo> Configuración> buscado AspectJ en la sección de complementos Plugin para AspectJ
  3. Suponiendo que no se haga nada más en Studio, excepto la configuración de los archivos build.gradle
  4. Se agregó la compile 'org.aspectj:aspectjrt:1.8.1' a la build.gradle (Module: app)
  5. Created Analytics_onBackPressed.aj para la detección de pulsación del botón de retroceso
  6. Creado Analytics_OnClick.aj para la detección de eventos de clic
  7. Created Analytics_onCreate.aj para la detección de eventos de componentes oncreate
  8. Creado clases de dependencia necesarias que las clases *.aj mencionadas anteriormente *.aj internamente
  9. Se han añadido los permisos necesarios en Manifest
  10. Ejecutar el proyecto no está detectando ninguno de los eventos (clic de botón, clic de clic o clic de botón de nuevo)
  11. Sigue estos enlaces ReferenceLinkOne , ReferenceLinkTwo y ReferenceLinkThree

Mi pregunta es lo que es más necesario para que AspectJ funcione con Android Studio

Pasos seguidos en Eclipse y consiguió AspectJ trabajando

  1. Descargado la versión de Kepler de Eclipse
  2. A través de la opción Instalar nuevo software buscado por http://download.eclipse.org/tools/ajdt/43/update
  3. AspectJ Development Tools (Required) instaladas AspectJ Development Tools (Required) .
  4. Creación del proyecto android de ejemplo
  5. Created Analytics_onBackPressed.aj para la detección de pulsación del botón de retroceso
  6. Creado Analytics_OnClick.aj para la detección de eventos de clic
  7. Created Analytics_onCreate.aj para la detección de eventos de componentes oncreate
  8. Se agregaron los permisos necesarios en el archivo de manifiesto
  9. Hizo clic derecho en el proyecto y el proyecto convertido en AspectJ por los siguientes Proyecto convertido a AspectJ
  10. Camino de compilación de Java configurado con la biblioteca de tiempo de ejecución de AspectJ
  11. Ahora, mientras ejecuto el proyecto, puedo detectar los componentes oncreate, presionar el botón de retroceso

Medio ambiente utilizado

Android Studio: 2.1.2

JRE: 1.8.0

Windows 7 Enterprise

¡Cualquier ayuda es muy apreciada!


EDIT: 1, Desde la salida, aún AspectJ no está configurado correctamente

Según este acoplamiento , creé el archivo del tarro de eclipse incluyendo archivos del *.aj y dependencia correspondiente. Excluido AndroidManifest.xml al crear el jar file y el jar creado

Proyecto creado en Android Studio. Colocó este archivo * .jar en el archivo libs. (apps> libs) . He activado AspectJ agitando como se muestra a continuación

Habilitado AspectJ agitando

Ahora buscamos las propiedades de AspectJ y habilitamos
Introduzca aquí la descripción de la imagen
Ahora ejecutando el proyecto, debería estar creando registros que había puesto en los archivos *.aj que está en el complemento. Desafortunadamente, estos registros no se imprimen en los registros de Android Studio.

El formulario que estoy concluyendo todavía AspectJ no está habilitado en este proyecto O hay un error de configuración

Divulgación: Soy el autor del plugin ofectivo de weaving de AspectJ .

Como se señala en la documentación de plugin de AspectJ weaver , el complemento no admite la compilación de archivos .aj .

Para utilizar este complemento, tiene dos opciones:

  • Cambie de .aj a aspectos de estilo de anotación .
  • Compile los archivos .aj fuera del IDE (IntelliJ Community / Android Studio), por ejemplo utilizando Maven / Gradle / Ant, y empaquetarlos en .jar . Incluya esta .jar como una dependencia en su proyecto y haga clic en el botón Buscar aspectos … , según la documentación.

He tenido varios éxitos tratando de conseguir AspectJ trabajando en Android Studio. Este enlace me ayudó a conseguir parte del camino (asume la configuración de compilación de Gradle para su proyecto). http://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/

Usando el bloque de código personalizado en el archivo build.gradle , pude obtener aspectos definidos usando anotaciones en archivos .java compilando y tejiendo correctamente en mi proyecto. Sin embargo, este mismo método no funcionó para mí cuando se definen aspectos nativos utilizando archivos .aj . Espero que ayude.

IntelliJ no tiene soporte de herramientas para AspectJ, y Annotation Style AspectJ puede funcionar en Android Studio. Basta con tratar el código de aspecto como código Java.

Para más detalles, lea este aspecto para el estudio de Android – donde está AJDT plugin

Además, puede utilizar el complemento de gradle aspectjx que puede tejer kotlin código y demo está aquí

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