重要:请使用HBuilderX2.4.6-20191210生成本地打包App资源,否则uni-app项目可能提示“运行环境版本和编译器版本不一致”,详情参考https://ask.dcloud.net.cn/article/35627
此次更新梳理了工程结构,现在开发者可以直接修改引擎中的代码,自主编译出新的引擎。
如果开发者要修改本工程源码,请注意“引擎”和“插件”的分界线。 “引擎”是对5+/uni-app规范的实现,修改引擎源码可以优化对规范的实现,但不是提供规范外的功能。规范外的功能,应该做成“插件”。如需公开,则放到插件市场。 比如扫码,5+/uni-app的规范已经存在,但开发者对扫码效率不满意,提供自己更好的实现,则可以改动本源码,重新Build引擎。 而如果是想新增一个ar功能,则应该做成插件,而不是加入到本工程中。即,开发者不能自主新增5+/uni-app的js API规范。
任何一个项目的源码,吃透整体都不是一件容易的事情。一般开发者有改动需求,也多集中在一些能力或SDK的实现上。 比如扫码、视频、地图、直播、摄像头、相册、蓝牙等,以及某些界面的文字。 只关注某些能力模块,吃透和修改会更加容易。
受精力所限,某些模块,比如DCloud定制过的weex源码,还未规整好,暂时以库的方式提供,未来会提供完整源码。不过这不影响开发者修改其他源码和编译工程。
-
将工程 clone 到本地(或直接下载zip);
-
由于源码依赖了一些第三方库超过限制,无法上传请下载 离线sdk 包并解压,打开 SDK/Libs 目录,将以下库复制到本工程的 SDK/Libs 下,然后编译运行即可
- libBaiduSpeechSDK.a
- liblibWeex.a
- MAMapKit.framework
- IJKMediaFramework.framework
本工程大部分源码开源,使用者可以自主修改已公开的源码,编译新版本。 但注意:
- 您不能破解、反向工程、反编译本项目下未开源的各种库文件。
- 未经DCloud书面许可,您不得利用本项目的全部或部分源码、文件来制作与DCloud根据本项目提供的服务相竞争的产品,例如提供自主品牌的开发者服务。
- DCloud所拥有的知识产权,包括但不限于商标、专利、著作权,并不发生转移或共享。
- 您基于本项目,自主开发的代码及输出物,其知识产权归属您所有。除非您通过提交pull request的方式将自己的代码开源。
- 如果您没有违反本许可协议,那么你使用本项目将无需为DCloud支付任何费用。