自己写了一个sdk,却不知道怎么打包应用到hbuilder中,官方给出的文章中,只是大张旗鼓的讲解了如何写sdk,而对于真正关键的部分(怎么应用sdk)却是一笔带过,这个真的是让人头疼的不行。有知道怎么做的能否给一个详细一点的说明,多谢啦!
- 发布:2015-12-21 18:10
- 更新:2018-11-24 00:25
- 阅读:4430
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给你们的员工培训下写报告吧,这样会造福更多人的。
楼主的理解挺到位,吐槽也很给力,哈哈!
我再补一刀:
自定义的插件,只能在 Android 开发环境(楼主说的是 Eclipse ADT,现在的主流应该是 Android Studio)中使用,无法集成到 HBuilder 中去,那就意味着,后续整个 app 的开发都只能在 Android 开发环境中进行了,而 HBuilder 集成环境所提供的强大的 H5 编辑/调试能力也只能望洋兴叹了,这个有点太扯了~~
-
dreamlwj (作者)
感觉这是dcloud故意埋的一个梗,hbuilder本身也是基于eclipse的,所以要在hbuilder中实现这些东西其实只是事件的问题,并且实现了以后可以大幅提高开发效率,这么一劳永逸的事情他们为啥不着急做?再加上官方号称开源,但是其实github的代码库中基本没有东西,也可以看出来,也许他们是准备留条后路,以后开源走不通了,截个流卖点高端服务吧,也可以理解!
2016-01-24 10:10
> 感觉这是dcloud故意埋的一个梗,hbuilder本身也是基于eclipse的,所以要在hbuilder中实现这些东西其实只是事件的问题,并且实现了以后可以大幅提高开发效率,这么一劳永逸的事情他们为啥不着急做?再加上官方号称开源,但是其实github的代码库中基本没有东西,也可以看出来,也许他们是准备留条后路,以后开源走不通了,截个流卖点高端服务吧,也可以理解!
我个人不喜欢阴谋论,所以这一点不能苟同。5+ 体系走的是“开放标准”的路子,而 dcloud 自己的基座程序(5+ 运行环境的一个具体实现,目前看是唯一实现)并没有走“开源”的路,也许是有什么商业上的考虑,但不管怎样也都没有什么可指责的。
而不开源就带来一个扩展上的难题。移动端软件安装不像 PC 端那么灵活,随时可以复制几个文件进去、修改配置文件就可以扩展原有的功能。移动端的软件安装是要基于一个安装包(apk/ipa),而基座程序不开源就只能由 dcloud 来负责打这个包,从而导致自定义扩展插件无法插进去。目前这种【只能打包进最终发行包,不能在开发环境中加载使用】的扩展插件,要我说就是鸡肋。
我相信这个问题 dcloud 自己应该都是清楚的,想要解决不会没有办法,但毕竟技术上有难度,想必不会是举手之劳。至于在重要性上会排在什么样的优先级,就要看 dcloud 的综合考量了。
之前做Ionic开发,虽然感觉不错,但想到AngularJS2.0不向后兼容就难免蛋疼,后来看到国内的这套一条龙方案,内心激动不已,打算以后再有APP开发项目就尝试一下,不过第三方插件集成这个东西,研究了两天还是没能彻底明白,看了这篇内容后终于了解了基本道理,但内心是拔凉拔凉的~
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