Android Studio 插件开发详解四:填坑
来源:互联网 发布:零基础学淘宝美工难吗 编辑:程序博客网 时间:2024/05/21 05:19
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540
本文出自【赵彦军的博客】
- 插件打包
- 坑一 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.html on 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.html on 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 , 欢迎关注
- Android Studio 插件开发详解四:填坑
- git结合android studio使用详解。填坑之旅。
- Android Studio 插件开发详解三:翻译插件实战
- Android Studio插件开发
- Android Studio 插件开发
- Android Studio 插件开发详解一:入门练手
- Android Studio 插件开发详解二:工具类
- android studio 的坑 自己来填
- Android Studio设置全屏Activity(填坑)
- 莫名其妙填掉 android studio 一坑
- Android Studio安装插件详解
- Android Studio Freeline插件详解
- 开发神器-Android Studio插件
- Android Studio的插件开发
- Android Studio Gradle 插件开发
- Android Studio 插件开发总结
- Android Studio 插件开发简介
- Android Studio插件开发基础
- 快速排序-降序(python)
- 蟠桃记
- MQTT入门篇
- python list 返回索引的方法
- 几种获取当前时间的方法
- Android Studio 插件开发详解四:填坑
- 虚树模板
- BLE-NRF51822教程8-动态广播
- dataSource
- thumbnailator工具类
- nodejs 几行代码实现静态资源服务器
- python基础——paramiko模块
- Android开发:RecyclerView平滑流畅的滑动到指定位置
- C++实习笔记(2)