Android Studio插件开发入门教程

文章目录

  • 效果图
  • 一、配置SDK
  • 二、开发插件
    • 1.新建Plugin项目
    • 2.修改配置
    • 3.新建Action
    • 4.编写逻辑
    • 5.打包成jar
  • 三、安装插件
  • 参考文章

效果图

Android Studio插件开发入门教程_第1张图片

一、配置SDK

插件只能使用IDEA开发,IDEA下载地址:https://www.jetbrains.com/idea/
打开IDEA,选择 File → Project Structure ,在弹出窗口中选择 New → IntelliJ Platform Plugin SDK ,然后点击 OK即可
Android Studio插件开发入门教程_第2张图片

二、开发插件

1.新建Plugin项目

点击 File → New → Project → IntelliJ Platform Plugin → Next → 输入项目名 → Finish
Android Studio插件开发入门教程_第3张图片
建好之后会生成一个默认的 plugin.xml 文件,默认代码如下:

<idea-plugin>
  <id>com.your.company.unique.plugin.idid>
  <name>Plugin display name herename>
  <version>1.0version>
  <vendor email="[email protected]" url="http://www.yourcompany.com">YourCompanyvendor>

  <description>
      most HTML tags may be used
    ]]>description>

  <change-notes>
      most HTML tags may be used
    ]]>
  change-notes>

  
  <idea-version since-build="173.0"/>

  
  

  <extensions defaultExtensionNs="com.intellij">
    
  extensions>

  <actions>
    
  actions>

idea-plugin>

2.修改配置

修改配置示例如下,各字段的含义见注释:

<idea-plugin>
  <id>com.your.company.unique.plugin.idid>
  
  <name>MyFirstDemoname>
  <version>1.0version>
  
  <vendor email="[email protected]" url="https://github.com/wkxjc">Cassinvendor>

  
  <description>
      It's just for fun. But it has to ask for 40 characters.
    ]]>description>

  
  <change-notes>
      It's just for fun. But it has to ask for 40 characters.
    ]]>
  change-notes>

  
  <idea-version since-build="173.0"/>

  
  

  <extensions defaultExtensionNs="com.intellij">
    
  extensions>

  <actions>
    
  actions>

idea-plugin>

3.新建Action

注意:必须将类全部放在文件夹下,不能直接放在src目录中,否则打包后运行会报这个错:

java.lang.NullPointerException
	at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor.getActionName(AndroidStudioSystemHealthMonitor.java:744)
	at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor.countActionInvocation(AndroidStudioSystemHealthMonitor.java:630)
	at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor$3.countActionInvocation(AndroidStudioSystemHealthMonitor.java:353)
	at com.intellij.ide.AndroidStudioSystemHealthMonitorAdapter.countActionInvocation(AndroidStudioSystemHealthMonitorAdapter.java:29)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.fireBeforeActionPerformed(ActionManagerImpl.java:1196)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:302)
	...

在src下新建一个文件夹,例如com.study.demo。在文件夹下新建一个Action:将光标定位到文件夹上 → File → New → Plugin DevKit → Action
Android Studio插件开发入门教程_第4张图片
输入Action信息,例如:
Android Studio插件开发入门教程_第5张图片
需要注意的是,Groups代表该插件安装后显示在哪里。我们选择CodeMenu,代表Code菜单栏下,Anchor表示在Code菜单栏下的第一个位置还是最后一个位置,我们选择Last。
点击 OK 后会自动生成这个我们自定义的MainAction类,同时在plugin.xml中会自动生成以下标签:

<actions>
  <action id="MainAction.ID" class="com.study.demo.MainAction" text="MyPlugin"
      description="This is a demo for study IDEA Plugin.">
    <add-to-group group-id="CodeMenu" anchor="last" />
  action>
actions>

当然,我们也可以不使用 Plugin DevKit 快捷方式,改为自己手动创建Action类,并添加类似的标签,效果一样。

4.编写逻辑

修改MainAction代码如下:

public class MainAction extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getData(PlatformDataKeys.PROJECT);
        String text = Messages.showInputDialog(project,
                "What do you want to listen?",
                "I will say it to you",
                Messages.getQuestionIcon());
        Messages.showMessageDialog(project,
                text,
                "Greeting",
                Messages.getInformationIcon());
    }
}

一个简单的输入弹窗,和一个消息提示弹窗。

5.打包成jar

点击 Build → Prepare Plugin Module ‘IDEAPluginDemo’ For Deployment
Android Studio插件开发入门教程_第6张图片
打包完成后生成的jar文件在这里:
Android Studio插件开发入门教程_第7张图片
同时可以看到Log控制台输出相应的日志。

三、安装插件

打开Android Studio,点击Android Studio → Preferences → Plugins → Install plugin from disk… → 选择刚刚生成的jar包 → Apply → OK → 重启Android Studio
Android Studio插件开发入门教程_第8张图片

这样就完成了文章开头的效果图。

参考文章

官方文档:http://www.jetbrains.org/intellij/sdk/docs/welcome.html
Android Studio Plugin 插件开发教程(一) —— 开发你的第一个插件:https://juejin.im/post/599f7f546fb9a0248c2de496

你可能感兴趣的:(Android Studio插件开发入门教程)