前言
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:
一般第一次創(chuàng)建需要你關(guān)聯(lián)jdk,如下所示:
在彈出的目錄選擇框中一般會(huì)自動(dòng)選擇到你的jdk目錄攒射,如果不是醋旦,請(qǐng)自己選擇jdk目錄,建議jdk版本用1.8以上的匆篓。上一步ok以后會(huì)彈出選擇IntelliJ Platform Plun SDK的對(duì)話框浑度,一般也會(huì)自動(dòng)選擇對(duì),ok就好
接著彈出Java SDK版本選擇鸦概,選擇1.8箩张,然后選擇下一步,最后創(chuàng)建項(xiàng)目窗市,項(xiàng)目創(chuàng)建好之后目錄如下:
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)作意荤。
彈出New Action配置窗口,進(jìn)行配置
其中
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)容沈矿,
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ì)話框根竿。
然后點(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...
然后啟動(dòng)AnroidStudio點(diǎn)擊setting的plugin泞歉,通過(guò)本地磁盤(pán)導(dǎo)入我們打好的jar包,點(diǎn)擊Ok
但是預(yù)期的結(jié)果沒(méi)有出現(xiàn)匿辩,卻報(bào)了這個(gè)錯(cuò)誤提示:
這是由于idea-version不支持產(chǎn)生的 我們只需修改這個(gè)值就可以解決了腰耙,參考https://blog.csdn.net/super_spy/article/details/80036727
我們修改成141.0再打包,安裝如下:
重啟AnrroidStudio铲球,點(diǎn)擊Code如下:
到此挺庞,我們的第一個(gè)插件編寫(xiě)完成,這里還需要注意一個(gè)問(wèn)題稼病,有時(shí)候我們插件雖然安裝完成选侨,但是在我們運(yùn)行的時(shí)候可能會(huì)報(bào)這樣一個(gè)錯(cuò)誤彈出:
解決辦法就是我們要把我們的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框架代碼生成的插件。