说起Android Studio插件开发,首先要先掌握Java或Kotlin语言,以及Java Swing编程。然后建议你看一下这个项目。
https://github.com/JetBrains/gradle-intellij-plugin/
看不懂,没关系,只要大致了解项目结构以及有哪些文件就行了。
现在我来带你循序渐进开发一个插件。我们要先搭建一下插件开发环境,则要先下载一个和当前Android Studio构建版本一致的IDEA版本,必须要用IDEA开发插件,IDEA官网下载地址www.jetbrains.com/zh-cn/idea/… ,请选择其他版本。然后看一下Android Studio的构建版本号[Help] - [About]查看版本号,我的是212.5712.43。 我们知道Android项目都有一个清单文件AndroidManifest.xml,同样的,IDEA插件项目也有一个清单文件,放在src/main/resources/META-INF/plugin.xml。 这里面我们可以配置很多的action。如下图,一个按钮就是一个action。
比如Analyze APK...这个按钮,就是一个action,一个action就是一个功能。我们通过继承AnAction来自定义一个action。
通过重写
override fun actionPerformed(anActionEvent: AnActionEvent)
来决定这个action要做什么事。然后我们把这个action配置到清单文件就可以了。
val model = BuildAppWizardModel()
anActionEvent.project?.let {
// 得到项目根目录
model.projectRootProperty.set(it.basePath
?.replace("/", File.separator)
?:"")
}
StudioWizardDialogBuilder(
ModelWizard.Builder()
.addStep(BuildAppStep(model))
.build(),
"我的插件标题栏"
).build()
.show()
这个插件做了一个简单的弹一个向导(Wizard)弹窗的功能。 清单文件配置如下。
<actions>
<action class="com.example.plugin.action.BuildAppAction" id="buildAppAction" text="我的action">
<add-to-group group-id="BuildMenu" anchor="last"/>
</action>
</actions>