带你从0开始撸一个Android studio 插件-XMan(一)

71 阅读2分钟

“我正在参加「掘金·启航计划」”

准备工作

开发工具:IntelliJ IDEA(开发版或社区版都可)我的版本是 2022.2.1 (Community Edition) 必要的java开发环境

正式开始

  1. 首先新建项目New Project -> IDE PLugin,这里注意,Language一定要选择Java,否则可能出现无法运行插件或者无法调试的问题,暂时未找到原因,猜测可能是idea对kotlin有兼容性问题

    image.png
  2. 创建项目后的目录结构如下图,其中我们的代码主要放在src->main->java中,resources文件夹中主要存放一些资源文件、plugin.xml文件(对项目的一些配置等信息都在这个文件中)等。

image.png
  1. 如果要修改插件图片,需要提供svg格式图片(只支持svg格式),替换resources文件夹中的pluginIcon.svg,效果如下图
image.png
  1. 在代码文件夹中创建插件,File->New->Plugin Devikit->Action
image.png image.png

其中action id、class name name是必填项,actionid最好用你创建好的插件的全路径,可以随便写一个后在plugin中修改,group由你自己选择,也可以不选,新增一个单独的tab(我是新建的tab)

image.png
  1. 创建好action后,你就可以在actionPerformed中做你的操作了,最重要的是要获取到Project对象,后续很多操作都是基于project的
public class XMan extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getData(PlatformDataKeys.PROJECT);
        Messages.showMessageDialog("test", "提示", Messages.getInformationIcon())
    }

}
过程中可能会遇到一些坑点:
  • 创建时要选用java模板,报错可能因为用的kotlin模板
  • 弹框中汉字会乱码:使用UTF-8编码格式

String t = new String("测试".getBytes(), "UTF-8");

  • 如果要使用kotlin,需要build.gradle.kts文件中pligins后面加入依赖
plugins {
    id("java")
    id("org.jetbrains.intellij") version "1.6.0"
    id("org.jetbrains.kotlin.jvm") version "1.6.20"
}
  • AS安装插件时可能会报错,版本不符,这时可以在 build.gradle.kts中修改插件的适用版本,
patchPluginXml {
    sinceBuild.set("212")//兼容的最低版本,从你的
    untilBuild.set("223.*")//兼容的最高版本
}
  • Windows系统中,文件夹路径(“\”带双斜杠)和Linux,macos(“/”单斜杠)中不太一样,可以通过java中的工具类忽略转义

StringEscapeUtils.escapeJava("")

# 带你从0开始撸一个Android studio 插件-XMan(二)