AndroidStudio Plugins 開發流程

簡述 AndroidStudio Plugins 開發流程,不涉及功能性開發,方便你們入門,減小踩坑操做。html

首先推一下我我的的第一個結合公司場景而誕生的Plugin:ButterKnifeCode,參考了開源插件:FindViewByMejava

下面簡述 AndroidStudio Plugins 開發流程:git

<!--more-->github

準備工做

一、下載Intellij IDEA Community版本,由於是免費的;api

二、安裝運行Intellij IDEA,點擊create New Project,按照如下兩步操做:ide

sdk_java

sdk_plugin

圖中第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_action

new_action2

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,以下圖所示:

menu_test

,而後點擊會彈出一個彈框,彈框以下圖:

dialog_test

,操做以下圖:

run

可是,我沒成功過,一直會報下面這樣的錯誤:

cannot_load_project

<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的開發流程,不涉及功能性開發,若是須要進行功能性開發,建議參考官方教程,或者與你須要的功能相似的開源插件。

參考連接

相關文章
相關標籤/搜索