Android с AspectJ и сборка его с помощью Ant на Eclipse - PullRequest
1 голос
/ 07 декабря 2011

Я новичок в Android и хотел использовать AspectJ с ним.Я искал пару статей в Интернете и следовал инструкции, чтобы она работала: http://blog.punegtug.org/2010/11/adding-aspect-to-android.html

Но я хотел знать, возможно ли отделить аспекты от проекта Android.В приведенной выше ссылке на учебник есть приложение для Android и аспекты внутри одного и того же проекта, но во многих случаях мы хотели оставить проект Android нетронутым в его изолированном пространстве.

Допустим, у меня есть AndroidProject вВ моем рабочем пространстве Eclipse я хотел бы создать отдельные проекты для моих аспектов, называемые чем-то вроде «AndroidAspectProject», который содержит только аспекты для него.

Я не уверен, сработает ли это, потому что, похоже, нам нужно разрешить компилятору AspectJ вставлять точки и советы в файлы .class перед созданием файлов .dex.В этом смысле я, возможно, не смогу сделать это в отдельном проекте.

Кто-нибудь пробовал с этим?

Еще один связанный с этим вопрос был бы: Возможно ли, чтобы Ant собрал AndroidProject с помощьюИ без аспектов этого?Можно ли это сделать за пределами Eclipse?

Я ищу способ создания различных вариантов, поскольку я добавляю pointcut в AndroidProject при сборке dev / debug, но оставлю его нетронутым при выпуске сборки.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Внутри Eclipse это просто.Просто добавьте AndroidAspectProject к аспектному пути AndroidProject.

Внутри ant есть несколько способов сделать это.Но самое простое - определить 2 цели.Один использует iajc, а другой использует javac для компиляции ваших исходников.Затем вам нужно использовать небольшой муравейник для переключения между целями в зависимости от того, компилируете ли вы для dev или для производства.

0 голосов
/ 07 декабря 2011

Вопрос о том, нужно ли выполнять аспекты времени компиляции, зависит от того, выполняете ли вы аспектj ant tasks .Иметь отдельные цели или свойства для сборок AOP и не-AOP и либо строить одну из них на основе имени или свойства цели, либо создавать их обе и изменять имя артефакта.

IIRC Eclipse позволяет вам указатьЦель Ant для сборки.

...