Legend is a Hook framework for Android Development, it allows you to Hook Java methods without ROOT. Even more exciting is that it supports both Dalvik and Art environment!
AspectJ is an aspect-oriented programming (AOP) extension for the Java programming language.
An compile-time AOP engine like AspectJ but easier to use in android application development.
This library provides a lightweight mechanism for adding functionality to Activities, Fragments and Applications without modifying their source code, by using annotations.