2013-04-07 64 views
2

我想嘗試使用AspectJ作爲android庫項目的一部分。我嘗試創建一個android庫項目並使用基於註解的樣式來創建切入點。在android庫項目中使用AspectJ

問題是庫項目的各個方面沒有被編織到添加了我的庫項目的android應用程序中。

我的Android庫項目中定義了幾個方面。類似於

@AfterReturning(pointcut = "execution(* *.*(..)) && !this(com.xyz.aspects.xyz)") 
public void abc(JoinPoint jp) 
{ 
    dosomething; 
} 

我已將此庫項目添加到我的Android應用程序。然而'dosomething'沒有被執行。任何建議?

+1

......沒有雙關意圖。 – 2013-04-07 16:27:37

+0

我的建議是:向我們展示一些代碼和配置細節。否則,就像問:「我想要做飯,有什麼建議?」 – kriegaex 2013-04-08 10:32:52

+0

@ kriegaex添加了一些代碼。現在看到 – Deepak 2013-04-08 11:23:53

回答

3

最後解決了這個問題。我將庫項目添加到了我的縱橫路徑,並開始發揮作用。

+2

你能告訴我怎麼做?現在有相同的問題 – 2015-07-02 00:23:27

+0

我已經添加了Eclipse的aspectj插件來編寫代碼。現在有更好的方法來做到這一點。結帳:https://github.com/uPhyca/gradle-android-aspectj-plugin – Deepak 2016-03-04 12:11:35

+0

我想通了。這是我的答案http://stackoverflow.com/questions/31142125/aspectj-with-android-library/31225630#31225630 – 2016-03-04 14:42:44

0

如何

execution(* *(..)) && !within(com.xyz.aspects.xyz..*) 

我沒有測試過,就迅速用我的iPad編寫的,但也許它幫助。如果沒有,請讓我更新。

+0

這是一個好主意,但這不會解決問題。 – Deepak 2013-04-10 06:57:58

+0

是的,它會 - 除非你的Spring或AspectJ配置有問題,但你還沒有發佈。方面編織是否可以使用任何切入點/建議?你發佈的切入點代碼肯定是錯誤的! – kriegaex 2013-04-10 09:46:19

+0

爲什麼不能工作?它完美的工作在我的android項目上。我可以看到它的編織。但無論如何,問題是我如何使用基於註釋的方面通過使用普通的java編譯器編織成一個android項目 – Deepak 2013-04-16 14:46:09