Android Studio Plugin开发小记(一)

/ 0评 / 3

前言

系列文档:点这里

配置环境

俗话说得好万事开头难,搭建好环境我们就成功一大半了,根据官方文档目前有两种方式可以用来开发,一种使用Gradle来构建,一种使用DevKit,对于官方来说,推荐是使用Gradle来构建的,所以我只介绍下Gradle来构建的方法,关于DevKit方式可以参看这里的官方文档

1、下载开发环境下载并安装安装IntelliJ IDEA Ultimate & the IntelliJ IDEA Community Edition

2、下载并安装插件File->Settings->Plugins Gradle、Plugin DevKit,如果已经安装了就不用继续安装了通过上面两步环境就搭建好了

新建插件项目

1、新建项目

File->New->Project 如下图

点击下一步

GroupId:类似于包名,唯一就行

ArtifactId:插件项目名称

然后一路next即可,然后等待项目刷新完毕,这一步如果是第一次创建可能下载很久!!!

耐心等待当刷新好以后的插件目录

配置插件项目

当我们创建好插件项目以后我们就需要设置插件的基本信息,插件的配置信息主要在/src/main/resources/META-INF/plugin.xml中。基本模块如下

<idea-plugin>
  <id>cn.deemons.tinypng.plugin</id><!--插件id,不能和其他插件项目重复,推荐com.xxx.xxx的格式 -->
  <name>Plugin display name here</name><!--插件名称 -->
  <version>1.3</version><!--插件版本号 -->
  <vendor email="support@yourcompany.com" url=""http://www.yourcompany.com">YourCompany</vendor> <!--插件发布者信息,可以添加邮箱链接 -->

  <!--插件描述信息,在这里可以介绍你的插件内容,支持HTML标签 -->
  <description><![CDATA[
    Enter short description for your plugin here.<br>
    <em>most HTML tags may be used</em>
    ]]>
  </description>

  <!--插件版本变更日志,支持HTML标签 -->
  <!-DevKit写在这里 -->
  <change-notes><![CDATA[
      <ul>
        <li>v1.0 init</li>
      </ul>
    ]]>
  </change-notes>

  <!-- 对IntelliJ IDEA软件支持本插件版本号 -->
  <idea-version since-build="145"/>

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

    <!--具体的插件动作,后面会介绍 -->
  <actions>
    <!-- Add your actions here -->
  </actions>

</idea-plugin>

注意:plugin.xml中的change-notes表示更新日志对应于DevKit方式,Gradle来构建的更新日志应该写在build.gradle中

//省略其他所有
patchPluginXml {
    changeNotes 
      this is chang notes
}

运行插件

运行插件非常简单,当我们点击Run的图标,则会打开一个新的ide,这个ide就已经装上我们的插件了,我们进入查看已经安装的插件列表就可以发现我们的插件了。

当然我们现在的插件什么都做不了,具体开发流程后面会介绍。

发布插件

如果我们的插件不依赖任何的三方库,那么打包的结果为jar包,如果我们的插件依赖了三方库,那么打包出来的为zip,目录信息为插件名/lib/所有的jar。大致如下图,插件为FirstPlug-1.0-SNAPSHOT,依赖了其他的jar,最后打包的结果就是zip,里面不仅有插件jar还有插件jar所依赖的所有jar包

Gradle方式依赖三方库并打包发布

1、在/src/main/下新建jars目录,然后放入需要引用的三方库,最后在三方库上面右键->Add as Library(与Android Studio导入jar的操作一致)

2、在build.gradle中的dependencies标签下添加如下依赖

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'src/main/libs')
}

3、打包插件 执行打包命令即可,如图,最后打包出来的产物在\build\distributions目录下

DevKit方式依赖三方库并打包发布

1、在项目根目录下新建libs目录,然后放入需要引用的三方库,最后在三方库上面右键->Add as Library(与Android Studio导入jar的操作一致)

2、如下图一样操作即可,最后打包的产物在根目录下

添加Android Studio支持

当我们开发的插件是在Android Studio上开发的时候,需要额外添加一些配置属性,如下

修改build.gradle

intellij {
  // Define IntelliJ Platform against which to build the plugin project.

  // Same IntelliJ IDEA version (2019.1.4) as target 3.5 Android Studio:
  version = '191.8026.42'

  // Use IntelliJ IDEA CE because it's the basis of the IntelliJ Platform:
  type = 'IC'

  // Require the Android plugin (Gradle will choose the correct version):
  plugins = ['android']
}

runIde {
  // Absolute path to installed target 3.5 Android Studio to use as
  // IDE Development Instance (the "Contents" directory is macOS specific):
  ideDir = file('/Applications/Android Studio.app/Contents')
}

修改plugin.xml

<depends>org.jetbrains.android</depends>
<depends>com.intellij.modules.androidstudio</depends>

官方文档

参考链接:

官方文档

掘金

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注