在开发插件之前,要先下载正确的开发工具,需要在JetBrain官网中下载Intellij IDEA
,下载地址。
这里使用的开发工具是IntelliJ IDEA而不是Android Studio,因为AS是基于IntelliJ为模版开发的,IDE插件必须通过IntelliJ开发、发布,再安装到Android Studio中才能使用。
创建工程有两种方式
通过File—>New—>Project
配置项目信息
完成上面两步就生成了IDEA的插件项目
这种方式创建的项目比较干净,里面没有多余的东西。同时,因为没有其他的东西,也就意味着我们要自己一点点的添加我们需要的库或则其他的东西。
打开github模版地址
点击Use this template
,然后选择“Create a new template”
会将模板项目保存在你的GitHub仓库中
clone项目到本地,导入IDEA中即可。
解决运行报错(不一定会出现)
解决方式,注释掉build.gradle.kts
内部分代码
这种方式导入的项目会帮我们把一些基础的库添加进来,但不止基础库,还有一些其他的乱七八糟的,没有插件开发基础的话,看起来会比较懵,还有最难受的一点就是,导入的项目你直接运行不一定能跑起来,解决报错问题,可能会浪费不少时间。
所以,没有基础的话,建议选择第一种方式,直接在IDEA中新建项目,自己一点点的加依赖,基础也会打的牢固点。
这里就以第一种方式创建的项目来介绍配置文件,主要的配置文件是build.gradle + plugin.xml。
因为build.gradle和Android工程中的构建文件非常类似,这里只解释Android中没有的配置。
1 | intellij { |
注意:localPath '/Applications/Android Studio.app/Contents'
在Mac上运行会报错,需要在设置中为IDEA
打开“完全的磁盘访问权限”,如下图
在resource文件夹下可以找到plugin.xml文件,这个文件中可以配置我们插件的各项属性,核心功能是注册我们插件包含的components和service(功能类实现后还需要在这里进行注册才能使用,类似在AndroidManifest.xml中声明Activity和Service)。
1 | <idea-plugin> |
Actions官方介绍: The system of actions allows plugins to add their own items to IDEA menus and toolbars. An action is a class, derived from the AnAction.
Actions是用户调用插件功能最常见的方式,如下图的工具目录是开发者经常用到的,里面所有的可选项都是一个Action,可以进一步展开的则是Action Group。
直接通过菜单创建
选择Action
补充Action的信息
手动创建
运行的时候可能会遇到一些错误,可能遇到的问题: Caused by: java.lang.ClassNotFoundException: xxx PluginClassLoade。这种错误出现的原因有两种:
项目Java版本和环境变量的版本不匹配。解决方式就是在gradle中指定版本
1 | java { |
Java文件放在了Kotlin文件夹内。解决方式就是放在Java文件夹。
运行成功后,就可以看到我们Action显示在指定的位置了
Action
只是插件中的一小部分,作为讲解插件入门的部分再合适不过了,除了Action还有向导程序Wizard、Tool Windows、UI创建工具、数据持久化等。