Android炒菜現(xiàn)炒現(xiàn)賣之-------- AOP 環(huán)境搭建

之前我們通過炒菜的方式簡單介紹了AOP的一些應用范疇障涯,下面我簡單的籠絡一下我在其他資料上查找出的一些結論:日志記錄宪躯、業(yè)務埋點乔宿、持久化、性能監(jiān)控访雪、性能日志详瑞、數(shù)據(jù)校驗、方法的參數(shù)校驗冬阳、緩存蛤虐、內(nèi)存緩存和持久緩存、權限檢查肝陪、業(yè)務權限(如登陸,或用戶等級)刑顺、系統(tǒng)權限(如拍照定位)氯窍、異常處理等等多種作用。
常用的工具和庫AspectJ:一個 JavaTM 語言的面向切面編程的無縫擴展(適用Android)蹲堂。Javassist for Android:用于字節(jié)碼操作的知名 java 類庫 Javassist 的 Android 平臺移植版狼讨。DexMaker:Dalvik 虛擬機上,在編譯期或者運行時生成代碼的 Java API柒竞。ASMDEX:一個類似 ASM 的字節(jié)碼操作庫政供,運行在Android平臺,操作Dex字節(jié)碼朽基。
今天我來給大家講解這么叼的東西怎么用布隔。長話短說,請跟我飛完全程稼虎,我再一一細細說明衅檀。目前使用的比較多的是AspectJ,完全兼容java,也是領導推薦的,我就用它了哈哈霎俩。
首先第一步:要想使得擴展性好哀军,使得很多人都可以用上我們使用AOP思想編出來的庫沉眶,那么首先我們自然要建立一個android lib。
第二步:然后在build.gradle文件上加入依賴org.aspectj:aspectjtools:1.8.9杉适,然后在導入org.aspectj.tools.ajc.Main谎倔、org.aspectj.bridge.MessageHandler、org.aspectj.bridge.IMessage

加入依賴

導入AspectJ tools

第三步:非常關鍵的一步
<pre>
android.libraryVariants.all { variant ->
JavaCompile javaCompile = variant.javaCompile
javaCompile.doLast {
String[] args = ["-showWeaveInfo",
"-1.5",
"-inpath", javaCompile.destinationDir.toString(),
"-aspectpath", javaCompile.classpath.asPath,
"-d", javaCompile.destinationDir.toString(),
"-classpath", javaCompile.classpath.asPath,
]

    MessageHandler handler = new MessageHandler(true);
    new Main().run(args, handler)

    def log = project.logger
    for (IMessage message : handler.getMessages(null, true)) {
        switch (message.getKind()) {
            case IMessage.ABORT:
            case IMessage.ERROR:
            case IMessage.FAIL:
                log.error message.message, message.thrown
                break;
            case IMessage.WARNING:
            case IMessage.INFO:
                log.info message.message, message.thrown
                break;
            case IMessage.DEBUG:
                log.debug message.message, message.thrown
                break;
        }
    }
}

}
</pre>
哈哈猿推,我們導入依賴的配置工作基本就完成啦传藏。接下來我們就把上一篇文章Android炒菜現(xiàn)炒現(xiàn)賣之-------- AOP 環(huán)境搭建的內(nèi)容寫入就可以完美的實現(xiàn)炒菜的內(nèi)容啦
基本流程圖可以用下圖解釋,也是從網(wǎng)上找的彤守,比較流行的圖

功能劃分圖
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毯侦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子具垫,更是在濱河造成了極大的恐慌侈离,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筝蚕,死亡現(xiàn)場離奇詭異卦碾,居然都是意外死亡,警方通過查閱死者的電腦和手機起宽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門洲胖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坯沪,你說我怎么就攤上這事绿映。” “怎么了腐晾?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵叉弦,是天一觀的道長。 經(jīng)常有香客問我藻糖,道長淹冰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任巨柒,我火速辦了婚禮樱拴,結果婚禮上,老公的妹妹穿的比我還像新娘洋满。我一直安慰自己晶乔,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布芦岂。 她就那樣靜靜地躺著瘪弓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪禽最。 梳的紋絲不亂的頭發(fā)上腺怯,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天袱饭,我揣著相機與錄音,去河邊找鬼呛占。 笑死虑乖,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的晾虑。 我是一名探鬼主播疹味,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼帜篇!你這毒婦竟也來了糙捺?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤笙隙,失蹤者是張志新(化名)和其女友劉穎洪灯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竟痰,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡签钩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坏快。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铅檩。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖莽鸿,靈堂內(nèi)的尸體忽然破棺而出昧旨,到底是詐尸還是另有隱情,我是刑警寧澤富拗,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布臼予,位于F島的核電站,受9級特大地震影響啃沪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窄锅,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一创千、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧入偷,春花似錦追驴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锋爪,卻和暖如春丙曙,著一層夾襖步出監(jiān)牢的瞬間爸业,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工亏镰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扯旷,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓索抓,卻偏偏與公主長得像钧忽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子逼肯,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容