Ответ 1
Это зависит от того, как оно реализовано.
Например, AspectJ компиляция во время компиляции будет работать на android, но соткание во время выполнения не работает. Android не поддерживает генерацию байт-кода.
Проверьте Guice wiki:
За кулисами перехват метода реализуется путем генерации байт-кода во время выполнения. Гиш динамически создает подкласс, который применяет перехватчики путем переопределения методов. Если вы находитесь на платформа, которая не поддерживает байт-код (например, Android), вы должен использовать Guice без поддержки AOP.