dreamlwj
dreamlwj
  • 发布:2015-12-21 18:10
  • 更新:2018-11-24 00:25
  • 阅读:4310

如何将自己写的插件应用到工程中

分类:5+ SDK
SDK

自己写了一个sdk,却不知道怎么打包应用到hbuilder中,官方给出的文章中,只是大张旗鼓的讲解了如何写sdk,而对于真正关键的部分(怎么应用sdk)却是一笔带过,这个真的是让人头疼的不行。有知道怎么做的能否给一个详细一点的说明,多谢啦!

2015-12-21 18:10 负责人:无 分享
已邀请:
dreamlwj

dreamlwj (作者)

捯饬了两天终于把这个问题整明白了,感觉dcloud做东西有点强奸用户的味道,首先做的工具非常好用,让人感觉很爽,然后文档写得很糟糕,让人很是痛苦,这就是所谓的痛并快乐着。  
具体文档糟糕在哪里呢!唉!概念不解释清除啊,就好比这个问题,大多数人的思维都是这样的,我们用的开发环境是hbuilder,所以一切事情围绕hbuilder为中心思考,然后我们要写插件,ok,插件本来就有一个名称,叫做三方插件(哪怕是你自己写得,也得叫三方的),那么就更会先入为主的以hbuilder为中心来思考问题了。  
所以我们在遇到这个问题的时候,会首先考虑,我们怎么来写三方插件,写好后怎么导入到hbuilder中使用,找了一大堆的dcloud资料,都只有告诉你怎么写插件,都是在讲编程技术http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/66,(当然也不难理解,毕竟那才是dcloud引以为傲的东西)却没有文章告诉我们怎么应用写好的东西。当翻到这一页http://ask.dcloud.net.cn/article/38的时候,恍然大悟,好吧其实也是告诉了怎么应用的。只不过要去深深的理解,并且换位思考。换个思路,那就是,dcloud本不打算(或者还没有做到这一步)让我们在hbuilder里随意添加插件,而是把我们的hbuilder工程当做一个巨大的“插件”插入eclipse的插件工程,想想也是够爽的。  
好吧,废话那么多,总结起来就是,不能把插件插入到hbuilder里面,而是要把hbuilder写好的工程插入到插件工程里面,然后用eclipse打包发布app。  
不过从这个事情也可以看出来,dcloud确实是个技术型的公司,写文档不能说没有功底,而是默认看文档的也是技术大牛,很多他们认为约定俗成的东西,就选择性的忽略了,然而对于不了解hbuilder的人来说,那些被忽略掉的话,就成了乌云,遮住了太阳,让太多的种子无法发芽。  
建议dcloud给你们的员工培训下写报告吧,这样会造福更多人的。
  • zzk

    我就想知道如果我引用了其他的插件,什么jar或者io什么的东西,就不能用在线打包了么

    2015-12-23 16:22

  • dreamlwj (作者)

    回复 zzk:这个我还真不知道,没有试过,你要有答案分享一下

    2015-12-25 17:39

  • DaneJiang

    那如果我开发的是IOS APP,是不是需要用Xode工具导入hbuilder的工程?

    2016-01-01 08:40

  • dreamlwj (作者)

    回复 DaneJiang:需要的

    2016-01-01 17:52

  • 1***@qq.com

    同意,这一点好像WeX5好一些,找葫芦画瓢的能把自己的插件弄进IDE去

    2016-10-11 16:01

maq

maq

楼主的理解挺到位,吐槽也很给力,哈哈!

我再补一刀:

自定义的插件,只能在 Android 开发环境(楼主说的是 Eclipse ADT,现在的主流应该是 Android Studio)中使用,无法集成到 HBuilder 中去,那就意味着,后续整个 app 的开发都只能在 Android 开发环境中进行了,而 HBuilder 集成环境所提供的强大的 H5 编辑/调试能力也只能望洋兴叹了,这个有点太扯了~~

  • dreamlwj (作者)

    感觉这是dcloud故意埋的一个梗,hbuilder本身也是基于eclipse的,所以要在hbuilder中实现这些东西其实只是事件的问题,并且实现了以后可以大幅提高开发效率,这么一劳永逸的事情他们为啥不着急做?再加上官方号称开源,但是其实github的代码库中基本没有东西,也可以看出来,也许他们是准备留条后路,以后开源走不通了,截个流卖点高端服务吧,也可以理解!

    2016-01-24 10:10

maq

maq

> 感觉这是dcloud故意埋的一个梗,hbuilder本身也是基于eclipse的,所以要在hbuilder中实现这些东西其实只是事件的问题,并且实现了以后可以大幅提高开发效率,这么一劳永逸的事情他们为啥不着急做?再加上官方号称开源,但是其实github的代码库中基本没有东西,也可以看出来,也许他们是准备留条后路,以后开源走不通了,截个流卖点高端服务吧,也可以理解!

我个人不喜欢阴谋论,所以这一点不能苟同。5+ 体系走的是“开放标准”的路子,而 dcloud 自己的基座程序(5+ 运行环境的一个具体实现,目前看是唯一实现)并没有走“开源”的路,也许是有什么商业上的考虑,但不管怎样也都没有什么可指责的。

而不开源就带来一个扩展上的难题。移动端软件安装不像 PC 端那么灵活,随时可以复制几个文件进去、修改配置文件就可以扩展原有的功能。移动端的软件安装是要基于一个安装包(apk/ipa),而基座程序不开源就只能由 dcloud 来负责打这个包,从而导致自定义扩展插件无法插进去。目前这种【只能打包进最终发行包,不能在开发环境中加载使用】的扩展插件,要我说就是鸡肋。

我相信这个问题 dcloud 自己应该都是清楚的,想要解决不会没有办法,但毕竟技术上有难度,想必不会是举手之劳。至于在重要性上会排在什么样的优先级,就要看 dcloud 的综合考量了。

  • dreamlwj (作者)

    我这也没有阴谋论啊,哥们,就是说他可能有商业上的考虑所以先没有全部公开出来而已,是你想多了

    2016-01-24 22:57

  • maq

    呵呵,是你想多了。阴谋论不是贬义词,只是一种思考方式而已。我并不觉得 dcloud 是故意不把自定义插件的集成调试功能放出来,而只是暂时确实还没有精力做到而已。

    2016-01-24 23:52

  • 阿里郎

    回复 maq:这两位仁兄说的确实是这样,现在一直困惑这个问题,先不知道这个东西整合过来有多大难度,但是正如 maq 所说,HBuilder 个人觉得是早期使用,一旦有哪个地方整合了第三方自己开发的功能,在往后用 HBuilder 恐怕就很难了. 我在没有用到这个层面的时候,都是自以为 HBuilder 能做到这一点所以前期都不是很在意这个,现在面临到这个问题,让我个人很是纠结。

    2016-04-10 16:57

waxdz2015

waxdz2015

写的太好了,让我们这些写Hbuilder的人,真是伤心啊

鸟月月

鸟月月

我也觉得这是成心搞成这样!

dreamlwj

dreamlwj (作者)

求高手回复啊

小郭哥

小郭哥

有没有人能回复一下这个评论啊 急需解决 急需扫盲

  • dreamlwj (作者)

    技术瓶颈都已经解决了,在写实现,不过文档还没时间写

    2016-01-05 22:47

书痕

书痕

之前做Ionic开发,虽然感觉不错,但想到AngularJS2.0不向后兼容就难免蛋疼,后来看到国内的这套一条龙方案,内心激动不已,打算以后再有APP开发项目就尝试一下,不过第三方插件集成这个东西,研究了两天还是没能彻底明白,看了这篇内容后终于了解了基本道理,但内心是拔凉拔凉的~

3***@qq.com

3***@qq.com

楼主,请问自己写的jar插件,把hbuilder的工程导入android studio 后,把jar插件加入进去,然后呢?在html的js中利用nativejs来调用插件吗?我现在正在调用别人写的个插件。我有个大胆想法,可以把hbuilder自己的pdr.jar包反编译出来,修改其activty的源码处来调用插件,然后替换掉pdr.jar包吗?哈哈

5***@qq.com

5***@qq.com

也有一方面是自己写的插件只能Android使用的问题吧 自己开发的插件在IOS上不能用

8***@qq.com

8***@qq.com

文档应该让新人来写

该问题目前已经被锁定, 无法添加新回复