Android Studio 插件开发详解四:填坑
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/78265540
本文出自【趙彥軍的博客】
系列目錄
Android Gradle使用總結
Android Studio 插件開發詳解一:入門練手
Android Studio 插件開發詳解二:工具類
Android Studio 插件開發詳解三:翻譯插件實戰
Android Studio 插件開發詳解四:填坑
Android Gradle 自定義Task 詳解
Android Gradle 自定義Task詳解二:進階
文章目錄
- 系列目錄
- 插件打包
- 坑一 (id不能重復)
- 坑二(插件描述信息要完整)
- 坑三(插件支持的產品要說明)
- 總結
在前面我介紹了插件開發的基本流程
【Android Studio 插件開發詳解一:入門練手】
【Android Studio 插件開發詳解二:工具類】
【Android Studio 插件開發詳解三:翻譯插件實戰】
在經歷的前面的3篇文章,我相信大家都可以掌握Android 插件工具的開發了,開發完插件以后,我們需要將插件上傳至插件市場,然后別人就可以通過插件市場安裝我們的插件了。在我做插件上傳至市場的過程中,遇到了很多坑,今天就來梳理一下,把遇到的坑都填平。
插件打包
比較簡單,直接在頂部主菜單欄中選擇 Build | Prepare Plugin Module XXX For Deployment 即可。
將打好的 xxx.jar 包上傳至市場 https://plugins.jetbrains.com/ , 上傳的具體細節比較簡單,這里省略。上傳成功后,需要2個工作日來審核,2天內就能收到 jetbrains 官方發來的郵件,告訴你審核結果。
在插件的開發項目中,有一個很重要的文件 plugin.xml
這個文件很重要,里面有很多細節需要注意,一不小心,就可能上傳不成功,或者審核不通過。
坑一 (id不能重復)
plugin.xml 里面有個id 是這個插件的唯一標識,其相當于Android里面的包名,唯一存在,不能重復。如果跟市場上的插件有重復,上傳的時候將會報錯,如下圖所示:
坑二(插件描述信息要完整)
不就后我就收到一封郵件,如下:
意思就是審核不通過,原因是在 plugin描述中添加英文描述,并且移除標準的默認文字。那么 plugin 的描述在哪里設置呢,其實也很簡單,就是 plugin.xml 文件。
那么為什么會審核不通過呢,我原來的是這樣寫的
<id>com.zhaoyanjun.AndroidTranslate</id><name>AndroidTranslate</name><version>1.0.0</version><vendor email="362299465.com" url="http://blog.csdn.net/zhaoyanjun6.com">趙彥軍博客</vendor><description><![CDATA[Android資源中英文翻譯<br>Android資源英文異步翻譯<br><em>most HTML tags may be used</em>]]></description><change-notes><![CDATA[Android 資源翻譯 .<br><em>most HTML tags may be used</em>]]></change-notes>這里需要注意兩個問題
1、description 標簽里面不能只寫中文,也要寫英文。為了簡單,我們直接寫英文好了,中文就不寫了。
2、description 、change-notes 標簽里面不能有 <em>most HTML tags may be used</em> 這樣的默認文字,應該把默認文字刪掉。
3、description 標簽是這個插件的功能描述。change-notes 標簽是這個插件的版本更新的一個日志記錄,我的寫的不規范。
經過修改,我改成這樣
<description><![CDATA[resource translation for Android Studio<li>1. Choose the word you want translate.</li><li>2. Press Command + Q.</li>]]></description><change-notes><![CDATA[<li>1.2 : New: fix some bugs.</li><li>1.1 : Fixed: Long click bug.</li><li>1.0 : init </li>]]></change-notes>坑三(插件支持的產品要說明)
經過前面兩個坑,我的插件終于審核通過了,可以在 Android Studio 市場沒有搜到。只能在 IntelliJ IDEA 產品中搜到。
還記得plugin.xml中注釋的那段代碼么:
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.htmlon how to target different products --><!-- uncomment to enable plugin in all products<depends>com.intellij.modules.lang</depends>-->這是指定你的插件發布到jetbrains plugins倉庫的產品類型,jetbrains公司有很多種產品,并且都支持插件開發,如Intellij Idea, PyCharm,WebStorm, Android Studio等等,如果你上面那段代碼注釋了,那么你在上面網站上傳的時候會默認上傳到Intellij Idea的產品倉庫,到時候只能在 Intellij Idea 的倉庫中搜到你的插件,Android Studio 是沒有的。如果你想在 Android Studio 的插件市場搜到你的插件,你需要將上面的注釋去掉。
修改完后,我的 plugin.xml 中是這樣的
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.htmlon how to target different products --><!-- uncomment to enable plugin in all products--><depends>com.intellij.modules.lang</depends>總結
在發布的時候,大概會遇到上面3個坑,把這些坑填平后,再次打包插件,更新到市場上。你可以看到這個插件支持的產品列表,如下圖
可以看到我們發布的插件已經支持 Android Studio 了。
本系列文章的源碼都上傳至 : https://github.com/zyj1609wz/AndroidPluginTranslate
個人微信號:zhaoyanjun125 , 歡迎關注
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OXMnEZdH-1604565171748)(http://o7rvuansr.bkt.clouddn.com/weixin200.jpg)]
總結
以上是生活随笔為你收集整理的Android Studio 插件开发详解四:填坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio 插件开发详
- 下一篇: Android Gradle 自定义Ta