胆大心细
最近在公司自主研发基于GPT模型能力的单测插件,组内用的不亦乐乎【在今年年底会开源出来,大家随时关注】,但是在推广到其他部门的时候发现了兼容问题
基于IDEA的特殊版本Android Stdio,理论上应该兼容所有基于IDEA开发的产品安装和使用,结果推广给其他部门使用Android出现了: Compatible with intellij idea only
一开始没什么思路,参考网上意见,有的说改版本,有的说添加对Android的支持,通过时间证明变更版本是无用的,而根据**官网**已经增加对Android 的支持是可以的:
#提升红色 也不用担心,直接打包
<depends>org.jetbrains.android</depends>
<depends>com.intellij.modules.androidstudio</depends>
那为什么会有本文呢?
不知道大家加入了这个配置出现了问题是否有过放弃:
一开始配置报红,提升根本找不到Android的依赖,强行打包出现error,这时候很多人和我最开始理解一样,突然就中止打包过程或者放弃,实际上你在坚持几秒就会发现,还是会构建成功,并且可以运行在Android成功
最开始以为是版本问题,甚至参考大家意见将版本降低到最小如sinceBuild 改为160
,仍然没效果,后来去官网配置也看到上述配置,确认是正确的,但为什么找不到依赖,官网也没给出说明
就在苦恼无法解决的时候, 抱着试一试的心态,我去居然打包成功并且可以运行,兼容性提示没了!!!
以下是本人思考原因: 在插件开发过程中并没有依赖Android的API,仅仅是在打包的时候提供给Android Stdio 平台使用,那么插件官方可能认为这种提前下载依赖是没有意义的,另外在Android Stido平台肯定已经自带了相关配置,但是怎么提供调用的呢,那么就需要<depends>标签显示调用底层的模块,也就是说在你本地的沙箱是找不到的,但是在Android Stdio 环境是可以加载并且适配成功
举一反三
有的时候确实得胆大心细,未来还会继续推广下去,但防止后续再出现兼容性问题,以下是官网给出的对其他Jetbrains产品的依赖配置,按需添加即可【注意只能是自家产品】
注意还有一个小坑是,你为了适配Android Stdio 引入了报红的配置 虽然发布成功,但是会影响沙箱调试,所以开发阶段还是先注释为主