转载请标明出处: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 插件开发详解四:填坑相关推荐

  1. Android Studio 插件开发详解三:翻译插件实战

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  2. Android Studio 插件开发详解一:入门练手

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112003 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  3. Android Studio 插件开发详解二:工具类

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自[赵彦军的博客] 在插件开发过程中,我们按照开发一个正式的项 ...

  4. android组件模板,提高效率必备神器 ---- Android Studio模板详解

    原标题:提高效率必备神器 ---- Android Studio模板详解 Android Studio模板大家应该很熟悉,你新建一个project或者module的时候,AS会帮你提供几个选项供你选择 ...

  5. Android Studio 版本号详解

    Android Studio 版本号详解 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/69951965 本文出自[赵彦军的博客] ...

  6. 视频教程-Android Studio 开发详解-Android

    Android Studio 开发详解 1999年开始从事开发工作,具备十余年的开发.管理和培训经验. 在无线通信.Android.iOS.HTML5.游戏开发.JavaME.JavaEE.Linux ...

  7. Android Studio 安装详解及安装过程中出现的问题解决方案

    Android Studio 安装详解及安装过程中出现的问题解决方案 一,Android Studio安装包下载, 首先到官网下载,就是去Android Studio中文社区官网下载你的平台需要的安装 ...

  8. Android studio入门详解

    1.如何查看Android studio的环境搭建是否成功 首先在Android studio中的sdk manager查看sdk存放位置,如何打开,同时按shirt+ctrl+鼠标右键,如下图: 然 ...

  9. Android Studio Flavors详解

    这两天发现Android Studio 的Flavors用起来相当给力!这里跟大家分享下: Flavors中文翻译过来叫"口味",不知道确切叫法是啥,它的功能就是允许你的APP有多 ...

最新文章

  1. 打开网页时出现DA AddrBar icon的解决方法
  2. Kanzi常用操作2
  3. Cocos2d-x3.2 场景的生命周期
  4. pyqt设置按钮边框
  5. Git恢复之前版本的两种方法reset、revert详解
  6. python super()函数(用来调用父类方法)
  7. doT js 宏的使用
  8. Python爬取js动态添加的内容
  9. android viewpager fragment传值,Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题...
  10. java 服务端解决ajax跨域问题
  11. java增强connection类_关于DriverManager.getConnection()里的增强实现
  12. Tool-图片压缩-腾讯智图:腾讯智图
  13. 使用Python开发游戏运行脚本(三)图片查找
  14. 毕业设计开发日志,基于ARM的嵌入式人脸识别系统的设计与实现
  15. 玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程
  16. python进阶day6
  17. 4.12 使用反相命令反转图片色彩 [原创Ps教程]
  18. 基于AT89C51 上MPU60506轴加速度传感器计步功能实现
  19. uniapp实战项目 (仿知识星球App) - - 配置开发工具和全局css样式
  20. 微信小程序之多规格选择

热门文章

  1. python 如何匹配列表中某个单词_Python如何匹配文本文件中多行中的特定单词/数字,并将它们存储在单独的列表中...
  2. kaggle研究生招生(中)
  3. sklearn模型的训练(上)
  4. 微信小程序view标签内容 文本过长,自动换行的问题
  5. 别再无聊地吹捧了,一起来动手实现MAE玩玩吧!
  6. 深度强化学习探索算法最新综述,近200篇文献揭示挑战和未来方向
  7. 免费注册丨全国社会媒体处理大会(SMP 2020)召开,98场报告日程全公开
  8. pytorch的两个函数 tensor.detach(),tensor.detach_(),tensor.clone() 的作用和区别
  9. 计算机视觉:基于眼疾分类数据集iChallenge-PM图像分类经典模型剖析(LeNet,AlexNet,VGG,GoogLeNet,ResNet)
  10. pack_padded_sequence 和 pad_packed_sequence