編輯:關於Android編程
有時候由於需要一些自定義之後的開源庫,無法使用jCenter裡面的官方庫,又懶得自己搭建Maven倉庫,所以我們想要自己在項目裡面直接導入本地的AAR庫。
網上通用的AAR導入Gradle的方法很簡單:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile name: 'libname', ext: 'aar'
}
如果我們只有一個APP的情況下,這個方法就足以了,但是如果項目比較復雜,有多個Module都需要這個相同的aar庫,問題就來了。下面的項目中,我們有一個Application:app,兩個module:framework,custwidgets。並且兩個module都需要依賴Fresco的aar庫。我們把aar放到framework裡面,app和custwidgets都依賴於framework。現在編譯會報錯:
原因是編譯兩個module依賴了framework,但是在另外兩個目錄使用無法找到libs這個目錄(由於寫的相對路徑,對於app,搜索的目錄就是app/libs/),把AAR引進來。目前Gradle引入AAR還比較弱,無法像jar一樣直接就依賴進去了。
由於不想每一個module都放一份aar。所以,我們只能在flatDir下功夫。方案1是使用絕對路徑,這樣很不靈活,無法根本性的解決問題,後來突然靈機一動,我目錄使用”../framework/libs”不就可以找到這個路徑了麼:)。試了一下,果真work了。附上示例工程:http://download.csdn.net/detail/yutao52shi/9052009。供給大家參考一下。
現在開始Have fun with AAR吧:)
一、概述今天給大家帶來SurfaceView的一個實戰案例,話說自定義View也是各種寫,一直沒有寫過SurfaceView,這個玩意是什麼東西?什麼時候用比較好呢?可以
老早用過小紅書app,對於他們客戶端筆記這塊的設計非常喜歡,恰好去年在小紅書的競爭對手公司,公司基於產品的考慮和產品的發展,也需要將app社交化,於是在社區分享這塊多多少
Toast英文含義是吐司,在Android中,它就像烘烤機裡做好的吐司彈出來,並持續一小段時間後慢慢消失Toast也是一個容器,可以包含各種View,並承載著它們顯示。使
前面的博客中,我們已經分析過,當Android中的進程要使用電量時,需要向PMS申請WakeLock;當進程完成工作後,需要釋放對應的WakeLock。PMS收到申請和釋