AndroidStudio Plugins 开发流程

作者: 风清袖一 | 来源:发表于2017-12-03 20:41 被阅读33次

    简述 AndroidStudio Plugins 开发流程,不涉及功能性开发,方便大家入门,减少踩坑操作。

    首先推一下我个人的第一个结合公司场景而诞生的Plugin:ButterKnifeCode,参考了开源插件:FindViewByMe

    下面简述 AndroidStudio Plugins 开发流程:

    准备工作

    1、下载Intellij IDEA Community版本,因为是免费的;

    2、安装运行Intellij IDEA,点击create New Project,按照以下两步操作:

    sdk_java sdk_plugin

    图中第2步点击New...实际上就是选择Java和Intellij IDEA的安装目录,然后点击Next,再选择Project的目录,最后点击Finish按钮就创建好Project了,Project目录结构如下图:

    目录结构

    编码工作

    3、下面先介绍一下Project唯一给我们创建好的plugin.xml文件,具体说明如下:

    <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>
    

    4、创建Action,右击New一个就行了,具体说明见图:

    new_action new_action2

    New成功之后会打开我们创建的TestAction,并且会在plugin.xml文件中添加action,内容如下:

      <!-- 动态创建的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());
        }
    }
    

    5、点击Run会打开一个新的Intellij IDEA,然后随便创建一个Project,进入之后点击Edit菜单按钮,你就可以发现第一个选项是Test,如下图所示:

    [图片上传失败...(image-956233-1512304803352)]

    ,然后点击会弹出一个弹框,弹框如下图:

    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选项的效果是不是和上面的效果一致就行了。

    部署工作

    6、插件开发完成之后需要部署插件到jetbrains,当然也可以不部署,像我之前的测试方式一样使用,下面说一下部署插件到jetbrains的操作:

    6.1、编写plugin.xml文件,具体说明在步骤3已经说明;

    6.2、参考官方部署教程:Publishing a plugin

    总结

    本文重点在于Plugin的开发流程,不涉及功能性开发,如果需要进行功能性开发,建议参考官方教程,或者与你需要的功能类似的开源插件。

    参考链接

    相关文章

      网友评论

        本文标题:AndroidStudio Plugins 开发流程

        本文链接:https://www.haomeiwen.com/subject/pvezbxtx.html