• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

H5P.Android: 5+/uni-app客户端引擎(Android)

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

H5P.Android

开源软件地址:

https://gitee.com/dcloud/H5P.Android

开源软件介绍:

Android平台5+App/uni-app运行环境开源项目

重要:请使用HBuilderX2.3.7-20191024生成本地打包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源码,还未规整好,暂时以库的方式提供,未来会提供完整源码。不过这不影响开发者修改其他源码和编译工程。

模块与源码对应关系

功能模块源码目录5+APP项目uni-app项目
Audio(音频)feature/audioplus.audiohttps://uniapp.dcloud.io/api/media/record-manager https://uniapp.dcloud.io/api/media/audio-context
Audio(MP3格式音频支持库)feature/audio-mp3accplus.audio
Barcode(二维码)feature/barcodeplus.barcodehttps://uniapp.dcloud.io/api/system/barcode
Bluetooth(低功耗蓝牙)feature/bluetoothplus.bluetoothhttps://uniapp.dcloud.io/api/system/bluetooth
Camera(摄像头)feature/cameraplus.camera
Contacts(通讯录)feature/contactsplus.contacts
Device(设备信息)feature/deviceplus.devicehttps://uniapp.dcloud.io/api/system/info
Downloader(文件下载)feature/downloaderplus.downloaderhttps://uniapp.dcloud.io/api/request/network-file?id=downloadfile
Fingerprint(指纹识别)feature/fingerprintplus.fingerprinthttps://uniapp.dcloud.io/api/other/authentication
Geolocation(基础定位库)feature/geolacationplus.geolocationhttps://uniapp.dcloud.io/api/location/location
Geolocation(高德定位)feature/geolacation-amapplus.geolocationhttps://uniapp.dcloud.io/api/location/location
Geolocation(百度定位)feature/geolacation-baiduplus.geolocationhttps://uniapp.dcloud.io/api/location/location
Geolocation(系统定位)feature/geolacation-systemplus.geolocationhttps://uniapp.dcloud.io/api/location/location
iBeaconfeature/ibeaconplus.ibeaconhttps://uniapp.dcloud.io/api/system/ibeacon
IO(文件系统)feature/fileplus.iohttps://uniapp.dcloud.io/api/file/file
LivePusher(直播推流)feature/media-livepusherplus.video.LivePusherhttps://uniapp.dcloud.io/api/media/live-player-context
Maps(高德地图)feature/map-amapplus.maphttps://uniapp.dcloud.io/api/location/map
Maps(百度地图)feature/map-baiduplus.maphttps://uniapp.dcloud.io/api/location/map
Messaging(短彩邮件消息)feature/messagingplus.messaging
Navigator(运行环境信息)feature/navigatoruiplus.navigatorhttps://uniapp.dcloud.io/api/system/info
Oauth(登录基础库)feature/oauthplus.oauthhttps://uniapp.dcloud.io/api/plugins/login
Oauth(小米登录)feature/oauth-miuiplus.oauthhttps://uniapp.dcloud.io/api/plugins/login
Oauth(QQ登录)feature/oauth-qqplus.oauthhttps://uniapp.dcloud.io/api/plugins/login
Oauth(新浪微博登录)feature/oauth-sinaplus.oauthhttps://uniapp.dcloud.io/api/plugins/login
Oauth(微信登录)feature/oauth-weixinplus.oauthhttps://uniapp.dcloud.io/api/plugins/login
Payment(支付基础库)feature/paymentplus.paymenthttps://uniapp.dcloud.io/api/plugins/payment
Payment(支付宝支付)feature/payment-alipayplus.paymenthttps://uniapp.dcloud.io/api/plugins/payment
Payment(微信支付)feature/payment-weixinplus.paymenthttps://uniapp.dcloud.io/api/plugins/payment
Push(推送基础库)feature/apsplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Push(个推推送)feature/aps-igexinplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Push(个推推送-GooglePlay专版)feature/aps-igexin-gpplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Push(UniPush推送)feature/aps-unipushplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Push(UniPush推送-GooglePlay专版)feature/aps-unipush-gpplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Push(小米推送)feature/aps-xiaomiplus.pushhttps://uniapp.dcloud.io/api/plugins/push
Share(分享基础库)feature/shareplus.sharehttps://uniapp.dcloud.io/api/plugins/share
Share(QQ分享)feature/share-qqplus.sharehttps://uniapp.dcloud.io/api/plugins/share
Share(新浪微博分享)feature/share-sinaplus.sharehttps://uniapp.dcloud.io/api/plugins/share
Share(微信分享)feature/share-weixinplus.sharehttps://uniapp.dcloud.io/api/plugins/share
Speech(语音识别基础库)feature/speechplus.speechhttps://uniapp.dcloud.io/api/plugins/voice
Speech(百度语音识别)feature/speech_baiduplus.speechhttps://uniapp.dcloud.io/api/plugins/voice
Speech(讯飞语音识别)feature/speech_iflyplus.speech
SQLite(数据库)feature/sqliteplus.sqlite
Statistic(友盟统计)feature/statistics-umengplus.statistic
Uploader(文件上传)feature/uploaderplus.uploaderhttps://uniapp.dcloud.io/api/request/network-file?id=uploadfile
VideoPlayer(视频播放)feature/mediaplus.video.VideoPlayerhttps://uniapp.dcloud.io/api/media/video
XHR(网络请求)feature/xhrplus.nethttps://uniapp.dcloud.io/api/request/request?id=request
nvue原生组件: map(高德地图)feature/weex_amap不支持https://uniapp.dcloud.io/component/map
nvue原生组件: barcode(二维码)feature/weex_barcode不支持https://uniapp.dcloud.io/component/barcode
nvue原生组件: live-pusher(直播推流)feature/weex_livepusher不支持https://uniapp.dcloud.io/component/live-pusher
nvue原生组件: video视频feature/weex_videoplayer不支持https://uniapp.dcloud.io/component/video
nvue原生组件: canvasfeature/weex_gcanvas不支持https://github.com/dcloudio/NvueCanvasDemo

源码配置

  • 文件夹中存在build.gradle文件的模块

将源码clone到本地,复制对应文件夹到所在项目的根目录,在setting.gradle中加入module配置,rebuild即可。以高德地图为例,将本工程clone到本地,复制map-amap到项目的根目录,打开setting.gradle,在最底部添加include "map-amap",重新运行即可,如需添加到主工程中,打开主工程的build.gradle文件,在dependencies节点中添加implementation project(path: ':map-amap')即可。

  • 文件夹中不存在build.gradle文件的模块

如果模块中不存在build.gradle文件,可以将文件夹中的目录直接拷贝到主项目中。例如xhr模块,可以将src下的文件夹拷贝到主项目的src下,如果存在其他文件夹(如libs),直接将文件夹下的内容拷贝到同名文件夹下即可。

参考HBuilder-SourceTool-as项目

项目配置及打包

clone HBuilder-SourceTool-as项目到本地,直接运行即可。如果运行uni-app时出现问题,可参考:https://ask.dcloud.net.cn/article/35139。

安卓打包配置参考:https://www.cnblogs.com/lsdb/p/9337342.html。

许可协议

本工程大部分源码开源,使用者可以自主修改已公开的源码,编译新版本。但注意:

  1. 您不能破解、反向工程、反编译本项目下未开源的各种库文件。
  2. 未经DCloud书面许可,您不得利用本项目的全部或部分源码、文件来制作与DCloud根据本项目提供的服务相竞争的产品,例如提供自主品牌的开发者服务。
  3. DCloud所拥有的知识产权,包括但不限于商标、专利、著作权,并不发生转移或共享。
  4. 您基于本项目,自主开发的代码及输出物,其知识产权归属您所有。除非您通过提交pull request的方式将自己的代码开源。
  5. 如果您没有违反本许可协议,那么你使用本项目将无需为DCloud支付任何费用。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap