天天看點

Android Studio 插件開發詳解一:入門練手

Android Gradle使用總結

Android Studio 插件開發詳解一:入門練手

Android Studio 插件開發詳解二:工具類

Android Studio 插件開發詳解三:翻譯插件實戰

Android Studio 插件開發詳解四:填坑

Android Gradle 自定義Task 詳解

Android Gradle 自定義Task詳解二:進階

相信大家在使用Android Studio的時候,或多或少的會使用一些插件,适當的配合插件可以幫助我們提升一定的開發效率,更加快樂。例如:

https://github.com/zzz40500/GsonFormat 可以幫助我們從Gson轉化為實體類

https://github.com/avast/android-butterknife-zelezny 可以幫助我們更加友善的使用butterknife

https://github.com/Skykai521/ECTranslation 可以幫助在IDE裡面完成英文->中文的翻譯

其他更多好用的插件詳見 Android Studio 常見插件收藏

有句話叫做授人以魚不如授人以漁,不能一直跟随着别人的腳步去使用插件了,有必要去學習編寫插件,當自己有好的創意的時候,就可以自己實作了。今天的内容就是:自己編寫一個Android Studio插件。

在正式動工之前,我們需要做一些準備工作,否則後面的内容難以展開。

1、 安裝 jdk ,配置環境變量。安裝過程這裡不細說,直接搜尋即可。

2、 你需要了解 groovy 的相關知識,包括 groovy 環境搭建,groovy 開發工具了解,groovy 文法了解,這些不在這裡細說,具體的知識點可以參考我的部落格 Groovy 使用完全解析

開發工具我們選擇用 IntelliJ IDEA

下載下傳位址: https://www.jetbrains.com/idea/

在官網中 IntelliJ IDEA 有兩個版本 Ultimate 、Community。Ultimate 是收費版,Community 是免費版。對于收費版有經濟能力的可以考慮,但是我們的插件開發用免費版 Community 就可以了。

IntelliJ IDEA 的安裝過程,這裡不細說。

在打開的IntelliJ IDEA 中選擇 File | New | Project

Android Studio 插件開發詳解一:入門練手

groovy 我們暫時不勾選,點選 Next

Android Studio 插件開發詳解一:入門練手

最後輸入項目名稱确定,點選 finish 完成建立

建立好的 Plugin 項目中,會預設生成一個 plugin.xml 的配置檔案

其中可以修改該插件項目的相關配置資訊,比如插件名稱、插件版本号等,如下圖

Android Studio 插件開發詳解一:入門練手

各标簽意義具體為:

[ id ] 插件id,類似于Android項目的包名,不能和其他插件項目重複,是以推薦使用com.xxx.xxx的格式

[ name ] 插件名稱,别人在官方插件庫搜尋你的插件時使用的名稱

[ version ] 插件版本号

[ vendor ] 插件釋出者資訊,可以添加郵箱連結

[ description ] 插件描述資訊,在這裡可以介紹你的插件内容,支援HTML标簽

[ change-notes ] 插件版本變更日志,支援HTML标簽

[ idea-version ] 對IntelliJ IDEA軟體支援本插件版本号

分為since-build最低版本 和 until-build最高版本,兩個屬性可以任選一或者同時使用

官網有詳細介紹 www.jetbrains.org/intellij/sd…

大體規則為 since-build <= 支援版本 < until-build

[ extensions ] 自定義擴充,暫時用不到

[ actions ] 具體的插件動作,後面會介紹

配置中填寫的資訊,會在别人搜尋你插件的時候展現介紹,在 File | Settings | Plugins 中檢視已有插件,或者再點選 Browse respositories 中浏覽插件中心裡其他人釋出的插件。當選中一個插件時,右側就可以看到plugin.xml中配置的資訊了,同樣這裡也可以進行插件的删除和添加安裝操作,每次操作都需要重新開機軟體後才能生效。

Android Studio 插件開發詳解一:入門練手

項目建立好時有一個src檔案夾,可以在其中File | New …建立檔案,

主要有這麼幾種針對插件的特殊檔案類型

GUI Form:表單界面

Dialog:對話框

XXXComponent:作用域類,其中又分為Application、Project、Module 分為作用于不同範圍

Action:處理插件互動行為的類

在項目中的 src 目錄中,New | Plugin Devkit | Action

Android Studio 插件開發詳解一:入門練手

Action的建立的對話框如下:

Android Studio 插件開發詳解一:入門練手

Action ID: 動作ID,推薦用“插件名.XXAction”的格式

Class Name:編寫Action的類檔案名

Name:動作在菜單選項中展示的名字

Description:動作描述

Groups:定義這個動作選項所屬的組,比如EditMenu就對應IDE菜單欄上的Edit,CodeMenu就對應菜單欄上的Code

Actions:是目前選中Groups下已有的Action動作,比如上圖示如果我們選擇CodeMenu就會展示Code中已有的幾個選項

Anchor:用來指定動作選項在Groups中的位置,Frist就是最上面、Last是最下面,也可以設在某個選項的上/下方

Keyboard Shortcuts:調用插件Action的快捷鍵,可以不填,要注意熱鍵沖突

建立好Action後,會自動在plugin.xml配置檔案的actions标簽中新增一個對應的Action動作資訊。

注意

這裡的資訊我們都可以再次修改,但是 class name 修改時要注意和類檔案名比對

可以修改添加多個,即在不同菜單中都可以選擇使用

同一個 group下多個 action 的 id 不能重複.

src下建立好的Action類會預設繼承 AnAction,然後實作 actionPerformed 方法,在方法中添加如下代碼,讓點選這個 Action 的時候彈出一個輸入框。

寫好代碼後,run運作項目,此時會自動啟動一個新的IntelliJ IDEA項目,這個新項目裡就會包含我們剛編寫的插件選項了。

Android Studio 插件開發詳解一:入門練手

比較簡單,直接在頂部主菜單欄中選擇 Build | Prepare Plugin Module XXX For Deployment 即可。

Android Studio 插件開發詳解一:入門練手

打包前要注意把 plugin.xml 配置檔案中的相關資訊填寫完整。

Android Studio 插件開發詳解一:入門練手

打完包後,将會生成 .Jar 包

Android Studio 插件開發詳解一:入門練手

類似于安卓打包生産的apk,這個時候你就可以把它丢給别人使用了

在上一章中,我們已經打包好插件 Plugin.jar ,現在我們在 Android Studion 測試一下。

File --> Settings --> Plugins --> Install plugin from disk

Android Studio 插件開發詳解一:入門練手
Android Studio 插件開發詳解一:入門練手

或者按快捷鍵 Ctrl + Q 啟動插件。

IntelliJ的插件也有一個市場,是官方提供的,可以在平台上釋出自己的插件

位址:https://plugins.jetbrains.com/

打開插件中心,注冊好賬号,然後選擇 Upload Plugin

将你生成的插件jar包上傳,然後選擇分類,最後确認完成上傳。

Android Studio 插件開發詳解一:入門練手

繼續閱讀