Android Studio IDE 插件开发

使用IDEA 进行 安卓开发 新建系统变量JAVA_HOME右键点击此电脑,点击属性——》高级系统配置——》环境变量——》新建变量名:JAVA_HOME 变量值:jdk的安装目录 新建系统变量CLASSPATH点击新建——》变量名:CLASSPATH——》变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 在path的变量里面添加 测试一下:打开cmd(WIN+R) 出来版本情况就说明环境配置好了 ①:Name(项目名称) ②:Package name(具体看公司要求) 阅读详情

作者:字节跳动终端技术——周宸韬

概述

这篇文章旨在向读者介绍IntelliJ IDE插件的开发流程以及常用的一些通用功能,任何基于IntelliJ开发的IDE都可以通过该方式制作插件,例如Android Studio(AS),本篇也将基于Android Studio进行展开介绍,读者将从0到1学习到 Android Studio插件开发。

背景介绍

什么是IDE插件、IDE插件能做什么?

IDE插件是将一些功能集成到了IDE界面当中,当我们使用IDE进行开发工作时能很方便的通过UI界面使用这些功能,例如大家熟悉的project工程目录,Gradle工具栏,IDE底部的Run、Terminal、Build界面等,都是通过IDE插件来实现的,可以说大部分需要通过命令行执行、或用户手动的一些操作都可以通过插件实现,并以UI的形式呈现。

如下图:左图为Android Studio IDE界面右侧Gradle工具栏,包含了很多Gradle任务,点击UI的效果等同于用户在命令行中输入Gradle命令。右图为IDE顶部菜单栏版本控制部分,其中对于版本的提交、拉取等按钮等价于命令行输入对应指令。

为什么要做Android Studio IDE插件?

笔者作为中台部门开发者,经常涉及到一些通用的功能的开发,并以工具或组件等形式交由外部使用。所以如何降低用户学习成本、提高工作效率是我的目标,而这些优化方向都离不开巧妙的使用工具。例如本次要介绍的IDE插件的开发背景就是以此为目标:将原本需要使用命令行完成的工作、或者学习成本较高的操作通过UI进行包装,并且依附在原生的AS界面中,通过UI的交互大幅降低用户学习成本,同时提升使用体验。

举例对比一下,下面两幅图片是某个工程自动搭建功能的截图,左右两图分别为使用命令行和使用AS插件的体验对比,可以看到左侧在使用CLI命令行进行工程搭建时界面信息不够简洁明了,且用户交互体验较差,用户必须在使用前阅读文档,并且没有容错机制,输错就得从头开始。而相同的功能使用右侧AS插件的体验则好很多,不仅各条信息清楚明了,还能拓展更多细节功能,如动态检验用户输入,输入无误才可进行下一步等等,用户完全可以在零知识背景的情况下使用该插件并轻松完成所有功能操作,而且接近原生的界面更美观。

如何开发一个IDE插件?

准备工作

在开发第一个插件前,我们要下载正确的开发工具,在JetBrain官网中下载IntelliJ IDEA,***下载链接***。

这里使用的开发工具是IntelliJ IDEA而不是Android Studio,因为AS是基于IntelliJ为模版开发的,IDE插件必须通过IntelliJ开发、发布,再安装到Android Studio中才能使用。

我们需要确认我们使用的Android Studio是基于哪个IntelliJ版本。这很重要,和你当前使用的Android Studio版本相同能让你在调试时很方便,而新版的IntelliJ包含的features在你使用的AS上可能并没有,导致插件无法安装,或提示兼容性报错。(图中的报错也会出现在未开启向高版本兼容时发生,开发时按需开启) 。

下载时请跟随这个步骤:

  1. 打开你的Android Studio,查看版本号(The Build Number),这就是我们需要的IntelliJ版本号。
  2. 下载页面,点击Other versions,找到对应的IntelliJ版本,下载安装即可。

创建新的工程 + 配置

这部分也可参照官网:https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started.html

  1. 创建新工程包含两个向导页面,【选择工程模版框架 + 填写插件工程信息】,按图中配置即可。
  1. 完成两步向导程序后自动创建工程,我们需要先了解两个核心文件:【build.gradle + plugin.xml】,并做一些前置的配置工作。

build.gradle

因为build.gradle和Android工程中的构建文件非常类似,这里只解释Android中没有的配置。

  • version:intellij闭包创建时只带一个属性 version,该属性代表用来构建这个插件的IntelliJ 平台IDE的版本,如果我们在开发时调用【runIde】这个Gradle task,一个基于这个版本的IntelliJ IDE实例就会被创建。
  • localPath:因为我们希望在AS的环境下测试我们的插件,所以我们需要将AS作为我们插件的一个依赖,增加一个属性叫localPath指定本机Android Studio应用程序Contents的安装目录,一个基于这个版本的Android Studio实例就会被创建(注意localPath不能和version属性同时使用,因为我们本地的AS路径中已经有了版本信息)。
  • plugins:添加开发需要的依赖插件。可以在这里添加很多我们想用的插件,比如我们想在插件中执行git命令,我们可以添加 ’git4idea‘ plugin。
intellij {
   
   
    version '2020.1.4'
    localPath '/Applications/Android Studio.app/Contents'
    plugins = ['Kotlin','android','git4idea']
}

plugin.xml

在resource文件夹下可以找到plugin.xml文件,这个文件中可以配置我们插件的各项属性,核心功能是注册我们插件包含的components和service(功能类实现后还需要在这里进行注册才能使用,类似在AndroidManifest.xml中声明Activity和Service)。

  • 声明我们的插件需要并且和AS相兼容:增加android和android studio modules作为依赖。
<idea-plugin>
    ...
    <depends>com.intellij.modules.platform</depends>
    <depends>org.jetbrains.android</depends>
    <depends>com.intellij.modules.androidstudio</depends>

    <extensions defaultExtensionNs="com.intellij">
        <!-- Add your extensions here -->
    </extensions>

    <actions>
        <!-- Add your actions here -->
    </actions>

</idea-plugin>

运行插件

配置完成后我们可以尝试运行插件工程,具体位置在Gradle工具栏 项目名称/Tasks/intelliJ/runIde路径。运行runIde任务,因为我们配置了Android Studio为启动路径,所以一个Android Studio模拟IDE会打开,所有内容都和我们本地的Android Studio没有差别。

IDE插件常用功能介绍

创建一个Action

什么是Action?

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?

两个步骤:

  • 【code implementation - 实现Action的具体代码逻辑】:决定了这个action在哪个context下有效,并且在UI中被选择后的功能(继承父类AnAction并重写actionPerformed()方法,用于Action被执行后的回调)。
  • 【registered - 在配置文件中注册】:决定了这个action在IDE界面的哪个位置出现(创建新的group或存放进现有的ActionGroup,以及在group中的位置)。

两个条件达成,action就可以从IntelliJ Platform中获得用户执行动作后的回调,例子: ‘HelloWorld’。

Code implementation
class HelloWorldAction : AnAction() {
   
   

    override fun actionPerformed(event: AnActionEvent) {
   
   
        //这里创建了一个消息提示弹窗,在IDE中展示“Hello World”
       
IDE(集成开发环境)插件是安全开发的便捷方式之一 例如,如果我们关注 Sonatype 的 DevSecOps 参考架构,我们不仅可以了解最佳的工具包及其在整个流程中的位置,而且还可以注意到一个非常重要的模式,即将代码安全测试转移到开发的早期阶段(左移)。插件能够以非常容易理解的方式,通过实例实时演示代码缺陷是如何导致有条件的“数据泄露”的,而最重要的是,您将有机会学习如何消除这些缺陷。当然,插件的使用并不能取代成熟的 SAST、DAST 和 SCA 分析,也不是万能的,但它可以成为构建安全开发和实施左移实践绝佳的附加工具包。市场中检索这些插件 阅读详情

相关推荐

Android Studio插件开发 - Dora SDK的IDE插件

Android Studio是一种常用的集成开发环境(IDE),用于开发Android应用程序。它提供了许多功能和工具,可以帮助开发人员更轻松地构建和调试Android应用程序。确保你已经安装了最新版本的Android Studio。你可以从官方网站(https://developer.android.com/studio)下载并安装它。了解Android Studio插件的基本结构和原理。

跟着哆啦学Android 1495

IDE插件开发与集成

-IDE插件开发与集成 1.背景介绍 1.1 什么是IDE IDE(Integrated Development Environment,集成开发环境)是一种软件应用程序,它提供了综合的设施,用于整个软件开发过程中的各个方面,包括编写、修改、编译、部署和

AI天才研究院 391

Deveco studio插件AndroidStudio里面的使用

Deveco studio插件AndroidStudio里面的使用; 今天主要说一下华为方舟编译器出来的Deveco studio插件的应用; 首先进入华为的页面进行项目创建,然后进行IDE插件下载; https://deveco.huawei.com/console/cdedevops/ide 进入Android Studio > Files > Settings &...

with sb to do something 7300

IntelliJ IDEA 插件(Java 插件)简介(一)

IntelliJ IDEA用上这些插件,让开发效率飞起

西瓜猿的博客 1955

程序员必备IDEA插件,什么是是IDE

我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。这款插件由Apipost团队开发,官方介绍中提到:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API调试操作。编写完代码后,只需右键upload同步接口即可快速将源码中包含的API以及注解自动生成API文档,并生成可以访问的链接。调试接口时某些接口返回数据需要记录,本次更新新增保存功能,发送请求后点击保存可保存该次的发送详情和返回详情。编写完代码后,点击右侧图标,可以进行快速调试。

weixin_57836618的博客 1264

ide插件开发 android studio mvp插件

首先放几个坑 前面俩个是在别的链接中看到的 地址 1, idea 开发插件的时候,src 下需要创建包名。不要直接在src 创建文件。否则也会出现 AndroidStudio 插件无效的问题 2, JDK版本问题,在此前,尝试用 IDEA 默认的jdk (11),发现运行在AndroidStudio 无效,IDEA 上可以使用。 需要切换为 JDK8版本,AndroidStudioIDEA都可以运行。 3,android studio版本需要和ide插件的build版本匹配 否则会出现这个图 andr

Big_Sweet 227

安卓开发者工具解决最新版汉化问题

附件:252版本。

m0_60880588的博客 209

Android studio插件开发及初次新建IntelliJ IDE SDK的问题

关于初学者学习IntelliJ IDE遇到的SDK问题

hutaoze的博客 355

flutter 插件已经安装但是还报错_Flutter开发环境搭建android studio 开发工具 安装 Flutter插件...

开发工具选择android studioFlutter开发环境搭建android studio ,选择这款IDE是因为笔者是做安卓开发的,用习惯了该工具的快捷键,安装插件的步骤也熟悉。解决问题起来也容易察觉。搜索插件、安装插件这个图片的plugins就是安装插件的入口,这个入口一共有2个,第一个就是这个界面,第二个入口也就是在打开一个项目过后,选择file-里面。 就是它,点击打开你会看到下面的界...

weixin_36347133的博客 267

使用技巧:手把手教你开发一个Android Studio插件

这是一份全面 & 详细的Android Studio插件开发指南

Carson带你学Android 5177

Android Studio技能之快捷键

Android Studio是谷歌新一代的Android开发IDE,老一代的Eclipse+ADT已被无情的废弃。 Android Studio基于JetBrains的IntelliJ IDEA,这是一个在Java界享有不错声誉的IDE,它以“Intelligent”著称。AS是谷歌基于IntelliJ开发的,加上了一套专门为Android定制的插件系统。早期的时候AS=IntelliJ +

稀有猿诉 2684

安卓开发Android Studio 配置

本文介绍了Android Studio的配置优化方案,包括安装路径调整、SDK位置设置、Gradle缓存目录指定等。重点讲解了JVM参数调优(堆内存、代码缓存大小等)的方法,并推荐了Rainbow Brackets插件等实用工具。同时还提供了ADB环境变量配置建议和显示空格的设置技巧,最后推荐了一款开源等宽字体Maple Mono,帮助开发者提升Android开发体验。

HeClgg 420

Android ButterKnife Zelezny 插件使用教程

Android ButterKnife Zelezny 是一个 JetBrains IDEs 的插件,用于生成 ButterKnife 注入代码。ButterKnife 是一个专注于 Android 的视图注入框架,可以减少大量的 `findViewById` 和 `setOnClickListener` 代码。ButterKnife Zelezny 插件通过自动生成这些代码,进一步简化了开发流程...

gitblog_00184的博客 784

Android Studio中文语言包极速上手:三步装好插件,整个IDE秒变中文界面

如果你打开 Android Studio 看到的还是满屏英文,那这篇文章就是为你准备的。今天的主角是 **AndroidStudioChineseLanguagePack**——一款基于 JetBrains 官方插件深度修改的 **Android Studio 中文语言包**,装上它,菜单、按钮、弹窗、错误提示会一次性全部变成中文。 ## 你被英文界面坑过的瞬间,我懂 老实说,谁没在英文 ID

gitblog_01016的博客 195

程序员必备:高能开发工具(IDE)强势推荐

作为一名程序开发人员,不管你使用哪门语言开发都有很多可以选择的集成开发环境IDE(Integrated Development Environment),IDE是提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。开发者可以通过IDE提供的代码高亮,代码补全和提示,语法错误提示,函数追踪,断点...

qiancheng9998的博客 1583

【保姆级超详细还免费】Android Studio 插件项目常见问题解决方案

Android Studio 插件项目是一个开源项目,旨在收集和整理所有优秀的 Android Studio 插件。该项目由 balsikandar 维护,主要使用 Java 和 Kotlin 语言编写。这些插件涵盖了从代码生成、UI 设计到日志记录等多个方面,旨在提高 Android 开发的效率和质量。 ## 新手使用注意事项及解决方案 ### 1. 插件安装失败 **问题描述**:新手在...

gitblog_00984的博客 926

免费Android Studio中文汉化语言包使用教程:3分钟让IDE界面全面中文化

第一次打开 Android Studio,满屏的英文菜单和提示就把不少人劝退了——这几乎是每位安卓新手的第一道坎。今天要介绍的 Android Studio 中文汉化语言包(官方修改版)是一套开箱即用的免费界面汉化方案,它能把 IDE 的菜单、设置、右键操作和工具窗口一次性切换成中文。只要按照本文的 Android Studio 中文界面设置步骤操作,3 分钟就能拥有一个完全中文化的开发环境。

gitblog_00985的博客 160

实战准备:为短视频安卓应用开发,用快马ai定制专属的android studio环境配置方案

因此,我们的环境配置需要围绕几个关键点展开:强大的视频播放库、高效的图片加载与缓存、性能监控工具,以及一个能模拟真实设备进行编解码测试的虚拟环境。基于此,我向快马平台描述了需求:为一个基于Kotlin的短视频应用项目,生成Android Studio的专项配置方案,重点包括必要的插件、Gradle依赖、AVD配置和性能分析工具集成。它的好处是,你不需要自己从头去拼凑这些琐碎但又关键的配置信息,只需用自然语言描述你的项目类型和技术倾向,AI就能整合出一份可执行的指南。整个方案获取和落地的过程,我是在。

YellowSun24的博客 171
上一篇: 人物访谈|扎根社区的工程师,月影的前端人生
下一篇: 再谈字节小程序
字节跳动终端技术
博客等级 码龄7年 206粉丝 52原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值