Need help with Android-AOPExample?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

420 Stars 135 Forks Apache License 2.0 21 Commits 3 Opened issues


This is a simple example of Aspect Oriented Programming in Android

Services available


Need anything else?

Contributors list

No Data

Android-AOPExample Build Status

This is a simple example of Aspect Oriented Programming in Android as part of a blog post I have written. The idea was to measure how long takes a method to be executed, so based on annotations, a Metrics aspect was created for making easy to trace a method execution (you can take a look at the 'gintonic' folder). I wrote an article about Aspect Oriented Development in Android here:

After developing this I realized Jake Wharton has already created a very useful library called Hugo (I refactored my code to look like this amazing library but mine is kind of a more primitive version, although as an example works fine :)).

The idea is simple, you just add

to any method and in the logcat you will see something like this:
Gintonic --> onMeasure --> [10ms]

Local Development

Here are some useful Gradle/adb commands for executing this example:

  • ./gradlew clean build
    - Build the entire example.
  • ./gradlew installDebug
    - Install the debug apk in the current connected device.
  • adb shell am start -n
    - Start the Main Activity of the example.


Copyright 2014 Fernando Cejas

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Buy Me A Coffee

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.