AndroidStudio插件開(kāi)發(fā)基礎(chǔ)

前言

Android開(kāi)發(fā)少不了插件沸移,插件的作用為我們省去很多重復(fù)的工作痪伦,提升我們的工作效率,本篇主要是介紹插件開(kāi)發(fā)的基礎(chǔ)雹锣,以及開(kāi)發(fā)一個(gè)簡(jiǎn)單插件

一.準(zhǔn)備工作

首先安裝IntelliJ IDEA网沾,因?yàn)锳ndroidStudio是不支持插件開(kāi)發(fā)的,下載地址:點(diǎn)擊這里
下載好就可以了~~
然后安裝蕊爵,運(yùn)行辉哥,點(diǎn)擊create New Project:

圖片.png

一般第一次創(chuàng)建需要你關(guān)聯(lián)jdk,如下所示:

圖片.png

在彈出的目錄選擇框中一般會(huì)自動(dòng)選擇到你的jdk目錄攒射,如果不是醋旦,請(qǐng)自己選擇jdk目錄,建議jdk版本用1.8以上的匆篓。上一步ok以后會(huì)彈出選擇IntelliJ Platform Plun SDK的對(duì)話框浑度,一般也會(huì)自動(dòng)選擇對(duì),ok就好

圖片.png

接著彈出Java SDK版本選擇鸦概,選擇1.8箩张,然后選擇下一步,最后創(chuàng)建項(xiàng)目窗市,項(xiàng)目創(chuàng)建好之后目錄如下:

圖片.png

plugin.xml中有不少項(xiàng)目先慷,基本屬于名字自己說(shuō)明自己的,

id:插件的ID咨察,保證插件的唯一性论熙,如果上傳倉(cāng)庫(kù)的話。
name:插件名稱(chēng)摄狱。
version:版本號(hào)脓诡。
description:插件的簡(jiǎn)介无午。
change-notes:版本更新信息。
extensions:擴(kuò)展組件注冊(cè) 祝谚。
actions:Action注冊(cè)宪迟,比如在某個(gè)菜單下增加一個(gè)按鈕就要在這注冊(cè)。

二交惯,編寫(xiě)Action

安裝創(chuàng)建好之后次泽,我們開(kāi)始編寫(xiě)我們的插件,在src上單擊右鍵 彈出菜單選擇New ---Plugin---Action席爽,創(chuàng)建一個(gè)動(dòng)作意荤。

圖片.png

彈出New Action配置窗口,進(jìn)行配置


圖片.png
其中

ActionID:代表該Action的唯一的ID
ClassName:類(lèi)名
Name:插件在菜單上的名稱(chēng)
Description:對(duì)這個(gè)Action的描述信息
Groups:定義這個(gè)菜單選項(xiàng)出現(xiàn)的位置只锻,右邊的Anchor是選擇該選項(xiàng)出現(xiàn)的位置玖像,默認(rèn)First即最頂部
Keyboard Shortcuts:調(diào)用插件的快捷鍵,注意熱鍵沖突炬藤。

OK后回到ide界面御铃,可以看到在plugin.xml的 action節(jié),多了剛才選擇和配置的內(nèi)容沈矿,

圖片.png

src下創(chuàng)建好的Action類(lèi)會(huì)默認(rèn)繼承 AnAction,然后實(shí)現(xiàn) actionPerformed 方法咬腋,這個(gè)方法類(lèi)似Android App的程序入口羹膳,我們可以在這里面做具體的插件后續(xù)動(dòng)作,這里我們彈出一個(gè)簡(jiǎn)單的對(duì)話框根竿。

圖片.png

然后點(diǎn)擊run圖標(biāo)陵像,會(huì)啟動(dòng)一個(gè)新的IntelliJ IDEA,我們可以查看Code菜單項(xiàng)第一個(gè)寇壳,這里我啟動(dòng)之后IDEA直接卡死醒颖,原因還沒(méi)有找到,不過(guò)我們可以直接打成jar包去AndroidStudio測(cè)試壳炎,點(diǎn)擊Build選擇Prepare All...

圖片.png

然后啟動(dòng)AnroidStudio點(diǎn)擊setting的plugin泞歉,通過(guò)本地磁盤(pán)導(dǎo)入我們打好的jar包,點(diǎn)擊Ok

圖片.png

但是預(yù)期的結(jié)果沒(méi)有出現(xiàn)匿辩,卻報(bào)了這個(gè)錯(cuò)誤提示:

圖片.png

這是由于idea-version不支持產(chǎn)生的 我們只需修改這個(gè)值就可以解決了腰耙,參考https://blog.csdn.net/super_spy/article/details/80036727
我們修改成141.0再打包,安裝如下:

圖片.png

重啟AnrroidStudio铲球,點(diǎn)擊Code如下:
GIF.gif

到此挺庞,我們的第一個(gè)插件編寫(xiě)完成,這里還需要注意一個(gè)問(wèn)題稼病,有時(shí)候我們插件雖然安裝完成选侨,但是在我們運(yùn)行的時(shí)候可能會(huì)報(bào)這樣一個(gè)錯(cuò)誤彈出:


圖片.png
圖片.png

解決辦法就是我們要把我們的Action文件放在src根目錄下面的包里面掖鱼,需要新建package放入Action文件,參考:https://stackoverflow.com/questions/45011862/i-create-plugin-for-android-studio-but-i-get

三.發(fā)布插件

我們的插件發(fā)布到倉(cāng)庫(kù)援制,支持在plugin中搜索安裝锨用,參考:
http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html

本篇主要介紹安裝IDEA,并部署插件開(kāi)發(fā)環(huán)境隘谣,已經(jīng)相關(guān)注意的幾個(gè)問(wèn)題增拥,下一篇會(huì)制作一個(gè)MVP框架代碼生成的插件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寻歧,一起剝皮案震驚了整個(gè)濱河市掌栅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌码泛,老刑警劉巖猾封,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異噪珊,居然都是意外死亡晌缘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)痢站,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)磷箕,“玉大人,你說(shuō)我怎么就攤上這事阵难≡兰希” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵呜叫,是天一觀的道長(zhǎng)空繁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)朱庆,這世上最難降的妖魔是什么盛泡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮娱颊,結(jié)果婚禮上傲诵,老公的妹妹穿的比我還像新娘。我一直安慰自己维蒙,他們只是感情好掰吕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著颅痊,像睡著了一般殖熟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斑响,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天菱属,我揣著相機(jī)與錄音钳榨,去河邊找鬼。 笑死纽门,一個(gè)胖子當(dāng)著我的面吹牛薛耻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赏陵,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼饼齿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蝙搔?” 一聲冷哼從身側(cè)響起缕溉,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吃型,沒(méi)想到半個(gè)月后证鸥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勤晚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年枉层,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赐写。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸟蜡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出血淌,到底是詐尸還是另有隱情矩欠,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布悠夯,位于F島的核電站,受9級(jí)特大地震影響躺坟,放射性物質(zhì)發(fā)生泄漏沦补。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一咪橙、第九天 我趴在偏房一處隱蔽的房頂上張望夕膀。 院中可真熱鬧,春花似錦美侦、人聲如沸产舞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)易猫。三九已至,卻和暖如春具壮,著一層夾襖步出監(jiān)牢的瞬間准颓,已是汗流浹背哈蝇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攘已,地道東北人炮赦。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像样勃,于是被迫代替她去往敵國(guó)和親吠勘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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