簡述 AndroidStudio Plugins 開發流程,不涉及功能性開發,方便你們入門,減小踩坑操做。html
首先推一下我我的的第一個結合公司場景而誕生的Plugin:ButterKnifeCode,參考了開源插件:FindViewByMe;java
下面簡述 AndroidStudio Plugins 開發流程:git
<!--more-->github
一、下載Intellij IDEA Community版本,由於是免費的;api
二、安裝運行Intellij IDEA,點擊create New Project,按照如下兩步操做:ide
圖中第2步點擊New...實際上就是選擇Java和Intellij IDEA的安裝目錄,而後點擊Next,再選擇Project的目錄,最後點擊Finish按鈕就建立好Project了,Project目錄結構以下圖:測試
三、下面先介紹一下Project惟一給咱們建立好的plugin.xml文件,具體說明以下:ui
<idea-plugin> <!-- 插件ID,上傳到plugins.jetbrains.com會用到,保證惟一就行 --> <id>com.your.company.unique.plugin.id</id> <!-- 插件名稱 --> <name>Plugin display name here</name> <!-- 插件版本號 --> <version>1.0</version> <!-- 插件做者信息 --> <vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompany</vendor> <!-- 插件描述信息 --> <description><![CDATA[ Enter short description for your plugin here.<br> <em>most HTML tags may be used</em> ]]></description> <!-- 插件該版本功能信息 --> <change-notes><![CDATA[ Add change notes here.<br> <em>most HTML tags may be used</em> ]]> </change-notes> <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description --> <idea-version since-build="145.0"/> <!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html on how to target different products --> <!-- uncomment to enable plugin in all products <depends>com.intellij.modules.lang</depends> --> <extensions defaultExtensionNs="com.intellij"> <!-- Add your extensions here --> </extensions> <!-- 動態建立的Action或手動註冊的Action --> <actions> <!-- Add your actions here --> </actions> </idea-plugin>
四、建立Action,右擊New一個就好了,具體說明見圖:編碼
New成功以後會打開咱們建立的TestAction,而且會在plugin.xml文件中添加action,內容以下:url
<!-- 動態建立的Action或手動註冊的Action --> <actions> <!-- Add your actions here --> <action id="TestAction.ID" class="TestAction" text="Test" description="TestActionDescription"> <add-to-group group-id="EditMenu" anchor="first"/> <keyboard-shortcut keymap="$default" first-keystroke="shift ctrl O"/> </action> </actions>
,TestAction的內容以下:
import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.ui.Messages; public class TestAction extends AnAction { @Override public void actionPerformed(AnActionEvent e) { // TODO: insert action logic here 此處用於實現業務邏輯 // 下面語句用於快速驗證使用 Messages.showMessageDialog("Hello World !", "Information", Messages.getInformationIcon()); } }
五、點擊Run會打開一個新的Intellij IDEA,而後隨便建立一個Project,進入以後點擊Edit菜單按鈕,你就能夠發現第一個選項是Test
,以下圖所示:
,而後點擊會彈出一個彈框,彈框以下圖:
,操做以下圖:
可是,我沒成功過,一直會報下面這樣的錯誤:
<font color='red'>因此我是經過下面的方式測試的:</font>
首先點擊BUild菜單下的Prepare All Plugin Modules For Deployment選項,會在Porject目錄下生成一個工程名.jar
的jar包,而後手動打開一個Intellij IDEA,隨便打開或建立一個項目,點擊Edit菜單按鈕下面有木有Test選項,而且點擊Test選項的效果是否是和上面的效果一致就好了。
六、插件開發完成以後須要部署插件到jetbrains,固然也能夠不部署,像我以前的測試方式同樣使用,下面說一下部署插件到jetbrains的操做:
6.一、編寫plugin.xml文件,具體說明在步驟3已經說明;
6.二、參考官方部署教程:Publishing a plugin
本文重點在於Plugin的開發流程,不涉及功能性開發,若是須要進行功能性開發,建議參考官方教程,或者與你須要的功能相似的開源插件。