在使用android studio開發的時候,大部分人都會使用一些插件來提高開發效率,例如我們所熟知的butternife,selector,,gsonformat等,這些分别從不同的原理來幫助我們提高開發效率,也美化了我們的代碼結構。
既然插件有這麼多好處,我們就來自己實作一個簡單的吧,這裡為了友善講解我們,我們就以android tintbar作為例子來講解。android studio是基于intellij idea,網上查找後發現好像可以在intellij idea中進行插件開發,android studio中new project是沒有plugin選項的。
1,建立一個項目,file->new project,如果你是第一次建立的時候,需要為項目制定 sdk,點選右邊的new按鈕就好了,它會自己為你找到sdk的索引。
項目建好後如下:
說明:其中plugin.xml為項目的配置說明檔案,相當于android項目中的androidmanifest.xml。
到此,我們的環境就 搭建完成了。接下來我們建立編寫插件代碼。
2,編寫插件
在建立的包下建一個action類。
說明:action id:辨別id,就像android中xml的元件@+id
class name:生成的類名
name、description:菜單選項的名字和描述
groups:定義這個菜單選項出現的位置,比如我圖中設定的當點選菜單欄edit時,第一項會出現test的選項,右邊的anchor是選擇該選項出現的位置,預設first即最頂部。
系統為我們生成的action代碼:
而在plugin.xml中也多了一段代碼:
這樣就是實作當使用者點選pluginaction菜單或者按快捷鍵alt +q後的就能實作功能了。
3,建立dialog
和action的建立一樣,dialog也可以直接在在src或者包名下右鍵->new ->dialog,建立好後是這樣的。
然後我們點開圖形化界面。
然後我們為當點選ok按鈕的時候綁定事件。
4,編寫一個configurable功能
當你的插件需要或允許使用者自定義一些配置時,比如我的插件允許使用者定義自己想要生成的代碼風格,隻需使用者打開settings->other settings就會看到一個配置界面。
由于版本差異,我也沒找到,這個後面補上。
5,插件部署
打開項目中的plugin.xml檔案,填寫相關的資訊,這些資訊會展示在插件庫中,如下圖所示。
點選bulid菜單下的prepare plugin按鈕會在項目的根目錄生成jar插件,如下圖所示
6,安裝插件
打開android sutdion,file -> settings -> plugins -> install plugin from disk。
7,釋出插件
如果你想把你的插件提供給大家使用,還可以把插件釋出到倉庫,進入jetbrains官網,填寫釋出的相關資訊,送出插件jar包,等待稽核就可以了。