What would be the best way to implement Aspect-oriented programming (AOP) in an Android application?
Would it be efficient with the mobile battery?
It depends in how it is implemented.
For instance, AspectJ's compile-time weaving would work on android but runtime weaving do not. Android does not support bytecode generation.
Check the Guice wiki:
Behind the scenes, method interception is implemented by generating bytecode at runtime. Guice dynamically creates a subclass that applies interceptors by overriding methods. If you are on a platform that doesn't support bytecode generation (such as Android), you should use Guice without AOP support.