十年网站开发经验+多家企业客户+靠谱的建站团队
量身定制+运营维护+专业推广+无忧售后,网站问题一站解决
01
首先需要在华为的开发者联盟官网实名认证,然后提交报名信息,之后查看是否成功报名,等待经过审核。需注意鸿蒙系统所支持的机型有华为P40、P40Pro、Mate30、Mate30Pro(Mate系列包括4G和5G版本)和平板MatePadPro。
华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用最合适的设备提供最佳的场景体验。2020年9月10日,华为鸿蒙系统升级至华为鸿蒙系统2.0版本。
关于怎么申请鸿蒙系统,首先我们要先知道目前鸿蒙系统所支持的机型有华为P40、P40Pro、Mate30、Mate30Pro(Mate系列包括4G和5G版本)和平板MatePadPro。一共六款手机和一款平板支持鸿蒙2.0系统。
申请鸿蒙系统的步骤:
1、需要设备支持鸿蒙2.0系统;
2、需要通过华为开发者联盟官网实名认证;
3、提交报名信息之后查看是否成功报名,等待经过审核;
4、型号查询:进入手机的“设置—关于手机—型号中查询”;
5、系统版本:进入手机的“设置—关于手机—版本号中查询”;
6、SN:进入手机的“设置—关于手机—状态信息”序列号就是手机的SN号。
华为6月2日正式发布的鸿蒙系统无疑占据了最近热点话题的C位,虽然不全是赞美的声音,但这种努力打破美国垄断,挑战谷歌、苹果在移动操作系统上垄断地位的尝试必将成为中国科技史上的里程碑事件。
本期的智能内参,我们推荐兴业证券的报告《华为鸿蒙深度研究》,从鸿蒙系统的产生背景、开源技术细节和产业链生态圈全面解析鸿蒙系统。
原标题:
《华为鸿蒙深度研究》
作者:未注明
鸿蒙产生的时代背景,总体来说有六个:
1、数字化的时代背景:数字化新时代的到来需要新的操作系统;
2、IoT与5G:5G物联网时代的到来对操作系统提出了新的要求;
3、中国面临“卡脖子”的挑战:独立自主的研发操作系统是迫切的需求;
4、人工智能的兴起:AIoT场景天然要求多设备智能协同,需要一个适用于各类型机器的操作系统;
5、大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;
6、全球信息安全面临挑战:网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。
到鸿蒙的出现,操作系统已经经历了四代:分别是Unix、Windows/Mac/Linux、iOS/Android和鸿蒙/Fuchsia。
Fuchsia是由Google自主开发的基于Zircon微内核的开源系统,它可以运行在手机、电脑、智能家电等硬件产品上。
谷歌公司对Fuchsia的预期发展是让它取代Android和ChromeOS,统一两者成为一个操作系统。
和安卓相比,鸿蒙与安卓都是基于Linux开发,安卓是基于宏内核结构设计,而鸿蒙是基于微内核结构设计。鸿蒙系统使用C和C++编写,不需要虚拟机这一中间过程,因此运行效率更高。
和iOS相比,iOS和鸿蒙都是致力于万物互联的操作系统,iOS底层是基于Unix的,并且是闭源的,鸿蒙是基于Lmux的,是开源的。
全球操作系统格局
2012年,华为出于对谷歌如果对其断供就会难以维持生产的顾忌,开始布局自有分布式操作系统。
2019年5月15日,华为被列入了所谓“实体清单”,谷歌Android服务GMS对华为禁供。
5G迅猛发展,物联网时代来临,多年前的布局使华为抓住了最佳的发展时期。
鸿蒙发展历史
总体来说,鸿蒙的技术现阶段优势在于开放,但劣势是生态。系统在分布式部署、时延和流畅性等方面具有优势,但最大短板生态。
构建一个成熟的生态是鸿蒙能否生存下去并取得胜利的关键所在。
技术上,鸿蒙系统使用微内核架构。内核是操作系统内最基础的构件,因此内核的设计对于操作系统的外部特性也有着至关重要的影响。
常见内核结构可以分为宏内核、微内核、混合内核、外内核等。
微内核是较新内核结构,但是它拥有着众多宏内核不具有的优良特性,吸引了很多研究者。
微内核与宏内核对比
微内核架构包含两类组件:核心系统和插件模块。核心系统负责通用功能,不因为业务的变化而变化。
插件模块负责实现具体的业务,可以根据业务的变化而改动和扩展。
微内核架构模式可以将其他应用程序的功能作为插件添加到核心应用程序,从而提供应用的可扩展性、功能分离性和独立性。
微内核架构通常具有以下特征:整体敏捷度高、易部署、可测性高、功能表现优秀、可扩展性强和不易开发。
鸿蒙系统设计
鸿蒙架构的另一个很大优势是依靠分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等技术,可以实现多种类、多数量的设备之间硬件的互助和资源共享。
分布式数据管理
分布式软总线
分布式设备虚拟化
鸿蒙系统设计初衷是为满足全场景智慧体验的高标准链接要求,可适配手机、平板、电视、智能汽车、可穿戴设备等广泛的终端设备,将在未来万物互联的智能社会中打造下一代操作系统。
鸿蒙当前和未来架构
在技术特性上,鸿蒙有着一次开发,多端部署的特点。
在鸿蒙OS的框架层提供了用户程序框架、Ability框架和UI框架。它们可以支持多终端设备业务逻辑和界面逻辑的复用,这样应用跨设备的开发效率也就得到了提框架层升。
另一个特点是统一OS,弹性部署。鸿蒙os通过组件化和小型化的设计方法,使得针对各种类型的设备可以按需求选择合适的部署方案。
鸿蒙支持多种组件配置方案:1、支持各组件的选择,组件并不是必须被部署,可以按照需要选择合适的部件;
2、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集;
3、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集。
除了微内核,鸿蒙的另一大卖点是方舟编译器。方舟编译器可以方便安卓APP移植到鸿蒙系统。
方舟编译器是华为自主研发的编译器平台,它将以前边解释边执行的低效运行方式转变为将Java、C、C++等代码一次编译成机器码的高效运行方式,同时也实现了多语言的统一。
华为官方数据表明,方舟编译器能提升24%的操作系统流畅度、44%的系统响应能力和60%的三方应用操作流畅度。
华为当前的业务可分为四大领域:消费者业务、运营商业务、企业业务和云服务四大业务领域相互协同、共同发展,拼接成华为生态战略布局版图。
华为生态
鸿蒙系统的生态可以概括为1+8+N。1+8+N战略的核心是1,即智能手机。智能手机作为鸿蒙生态的核心部分,凭借华为海思自研的麒麟芯片,为其他设备终端提供相应的通信支撑。
正是因为万物互联的场景中手机的重要性,华为始终以全球手机市场第一作为目标。
8是指PC、平板、智慧屏、音箱、眼镜、手表、车机、耳机,这8项将由华为公司亲自研发和参与市场,并且会追求市场领先地位。
N是摄像头、扫地机、智能秤等外围智能硬件,涵盖移动办公、智能家居、运动健康、影音娱乐、智慧出行五大场景模式。
这些领域是与鸿蒙生态的合作伙伴进行共同开发,在合作过程中,鸿蒙生态将会提供HiLink协议标准,HiAI组件,LiteOS等技术平台,同时将鸿蒙操作系统开源。
2019年8月,全球第一款搭载华为鸿蒙系统的荣耀智慧屏正式发布。
荣耀智慧屏作为当时首个搭载鸿蒙系统的终端产品,突破了传统电视的概念,搭载有鸿鹄818智慧芯片等三颗华为自研芯片和升降式AI摄像头,内置华为系统级视频通话功能,开创了大屏和手机的新交互方式,除了可联控智能家居,还能实现智慧双投、魔法闪投、魔法控屏等功能。
鸿蒙OS+智慧屏
2021年4月,华为的鸿蒙OS智能座舱正式发布。
鸿蒙OS车机操作系统是面向车的操作系统,与手机同平台。鸿蒙OS智能座舱搭载有一芯多屏、多用户并发、运行时确定性保障、分布式外设、车载网络、多部件等多种应用,提供差异化启动恢复、极速启动、多用户切换、声场控制、多部件协同等功能。
鸿蒙OS智能座船可以及时升级应用,基于其HMS-Automotive平台,开发者能够提供更好的服务与应用体验,实现人、车、家的全场景协同。
鸿蒙OS+智能座舱
同时面向车载场景增量还开发有HOS-A子系统,可实现账号、多模输入、用户程序框架、元能力框架、多媒体、公共通信、车机业务启动恢复等功能,使得自动驾驶、导航、视频、音乐和通话等业务能够在智能座舱和其他设备之间实现无缝切换,让智能驾驶变得简单、有趣、享受。
发布会现场透露,目前智能驾驶生态平台已获得30+硬件生态、50+应用生态合作伙伴支持,未来鸿蒙OS将继续加大与汽车及应用领域的开放与合作力度,与产业链一起打造智能驾驶的极致体验。
2020年7月,华为消费者业务CEO余承东,与美的集团董事长方洪波正式签署《战略合作框架协议》,双方在智慧家居领域达成“全方位战略合作关系”。
2021年4月,作为首批支持鸿蒙系统的家电产品,美的家用智能蒸烤箱S5mini正式上市,该智能蒸箱搭载了华为鸿蒙系统,同时搭配了鸿蒙系统的一碰连特性,可以快速完成配网。
配网成功后,手机会自动跳转到鸿蒙系统内置的轻量化产品页面,用户可以在页面中获取跟产品搭配的定制食谱,根据菜谱准备食材,即可一键启动机器、机器自动烹饪。
智东西认为,数字商业的终极竞争,归根到底就是操作系统的竞争,全球市值前3名的苹果、谷歌和微软,他们共同特点就是都具备操作系统。鸿蒙的推出,长远来看决定了能否在异构计算时代中取得第四张操作系统入场券的关键。
Intent
Intent的构成元素
Operation
Action:表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。
Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。
Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme,schemeSpecificPart,authority和path信息。
Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。
BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。
AbilityName:表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。
DeviceId:表示运行指定Ability的设备ID。
当Intent用于发起请求时,根据指定元素的不同,分为两种类型:
如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。
如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。
参考鸿蒙官方文档(点击传送门),做一下流程梳理简化,及踩坑记录
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在AppGalleryConnect中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1.鸿蒙手机通过USB连接电脑,并开启USB调试。
2.一个华为开发者账号,实名认证
3.APP开发工具DevEco-Studio
关键流程:
1.Studio创建应用
3.AppGallery创建应用(包名和Studio创建的一样)
4.官方文档到这在签名配置页就点TryAgain可以自动签名,我试了不行,以下全是手动
5.Studio中BuildGeneratekeyandCSR生成p12和csr文件
6.获取手机udid,命令行hdcshellbmget-udid(下一步设备管理要用)
7.AppGallery主页用户与访问左侧设备管理添加udid的设备(生成p7b时要用)
8.AppGallery主页用户与访问左侧证书管理生成cer文件(生成p7b和签名配置要用)
9.AppGallery主页我的项目左侧HarmonyOS应用HAPprovisionprofile,生成p7b文件
10.最后在签名配置页配好p12、p7b、cer等参数,运行鸿蒙应用到真机就行了
7月8日,鸿蒙系统升级量就已达3000万部手机,这是一个很理想的速度。加上升级用户普遍反映体验非常好,这让大家普遍认为鸿蒙大有希望,成功在即。
的确,初出茅庐的鸿蒙,这样的成绩很优秀,但这个时候要注意千万不可以盲目乐观。我们必须清醒地意识到,鸿蒙的成功之路,这才是小试牛刀、刚刚开始,更艰难的工作,还在后头。
一、鸿蒙系统的体验,还基本上没有发挥出其比安卓、iOS领先一代的优势。鸿蒙还需要尽快地把其优势性能体现出来,以持续增加对广大用户的吸引力。
目前升级用户最普遍的反馈,主要集中在日常操作的流畅性、升级的平滑、便利以及对安卓应用的兼容性等方面。
但要知道鸿蒙系统是面向万物互联时代的统一的物联网操作系统,并不只是安卓系统的一个平行替代品。真正体现出鸿蒙作为领先安卓一代的优势,才是鸿蒙系统获得稳定市场地位的法宝,不可以疏忽。
比安卓系统强,甚至在很多方面也要比iOS强,这才是鸿蒙成功、成熟的一个标志。强大的多设备协同、超低时延、更高的存储及文件管理性能、更强大的安全性等充分发挥,才是战胜安卓系统的真正利器。
这些领先优势的闪亮展现,才会吸引更多用户,才会督促其它手机厂家也参与到鸿蒙大家庭中来,这很重要。
二、适配、升级的节奏要快,要更快。
现在的升级速度当然已经很快了,华为工程师们肯定也是在提速、再提速。工程师们辛苦了,但适配、升级速度对鸿蒙之成功确实很关键,还是要加把劲、再加把劲。
华为手机的增量恢复常态,恢复到每年2-3亿部新机出货,短期内解决的困难很大。这个时候存量手机就是适配、升级的主要载体。但是要知道毕竟手机的寿命是有限的。再好用、再可靠的手机,使用寿命也不过三、五年。
此前适配、升级的主要是新机型,往后才逐步拓展到更早的机型。目前的适配、升级已经开始拓展到二、三年前的一些机型,无论如何,这些手机使用寿命已经进入后期。晚一点儿适配,能升级的存量手机就会少一些。
三、鸿蒙原生应用开发及生态建设。
这同样是保持对用户吸引力的一个关键因素。用户用的,就是手机上的一个个app,没有足够的app,就谈不上操作系统的成功。目前鸿蒙应用还主要以兼容的安卓应用为主,需要尽早推动更多原生app的开发上线。
真正的原生app,也才能最大程度展现鸿蒙系统的技术优势。绝大多数主流移动应用都推出原生的鸿蒙app,且功能不弱于相应的安卓应用,鸿蒙才具备了独立发展、繁荣生态的根基。
四、越早升级的用户,要么是铁铁的花粉,要么是对新事物、新技术感兴趣的人。
他们对鸿蒙系统的热情度很高,升级要求也很迫切。但是随着这些用户逐步完成升级,其它用户对于升级鸿蒙系统的热情可能就会弱了。加上更多人其实很难对操作系统有准确、深入的认识,他们其实并不关心系统升级,或是根本就不懂系统升级这个事。
很多手机用户其实从来就不关心系统的升级,或者是清理、重置系统等。要想说服他们升级鸿蒙系统,可就没那么容易了。如果华为新手机还能如2020年之前那样,每年2亿部以上的新机出货量,通过预装鸿蒙就可以达到普及的目的。
五、鸿蒙系统成功的根本,还在于华为手机必须恢复到以正常的节奏推出新机,至少也要达到2019年那时的出货量。
每年保持2亿部以上的新机出货,并且直接搭载鸿蒙系统,这才是鸿蒙系统的彻底成功和成熟标志。毕竟存量手机要逐步退出使用的,2021年年底能完成升级的一些早期机型,可能已经使用了3-4年,这些手机大概率在1-2年内就要换新了。
尽管目前很多铁杆花粉纷纷推迟了换机计划,期待升级、体验鸿蒙系统,并热切期待着华为能彻底解决缺芯困难,华为手机能王者归来。但这个过程,显然未必是那么顺利,这个时刻的到来,可能不会那么快。
市场上的存量华为手机也就那么几亿部,而且从明年起每年不得不淘汰的老手机,一年下来也得上千万部。如果短期内不能恢复新手机的正常出货,2年以后的华为存量手机不可避免地开始快速减少,一年换新量就可能达到大几千万部以上。
而今年华为新手机出货能达到1亿部已经很难了,这还基本上是靠存量芯片支撑。明年存量麒麟芯片肯定也剩不下多少了,用高通等芯片也不是办法,毕竟明年了再推4G手机,市场接受度也更低。
期待芯片这座大山尽早彻底攻克,期待华为手机王者归来,期待鸿蒙系统一统天下。
开发前可以了解下鸿蒙:[鸿蒙开发序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
开发前的准备:「鸿蒙开发1」华为鸿蒙应用集成开发环境DevEcoStudio安装和设置
了解鸿蒙应用开发的基本开发流程:「鸿蒙开发2」第一个华为鸿蒙(HarmonyOS)应用程序(App)
本章目标:
1了解华为鸿蒙应用开发的可视化(低代码)方式
2通过构建一个简单的具有页面跳转功能的应用
低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。
1打开DevEcoStudio,创建一个新工程,选择支持Phone/Tablet/Wearable(手机/平板/s可穿戴)的模板,我们在此直接选择EmptyAbility
Projectname工程名称填SuperVisual
Developmentmode开发方式选择SuperVisual
其它的可以使用默认设置,点击完成,进入编辑界面
1在Project(项目)窗口,删除工程运行默认的入口文件夹:“entrysrcmainjsdefaultpagesindex”文件夹
2在Project窗口,选择工程中的“entrysrcmainjsdefaultpages”,单击鼠标右键,选择“NewJSVisual”
JSvisualname填first,点击完成,进入编辑界面
创建完成后,可以看到“entrysrcmainsupervisualdefaultpagespagepage.visual”的文件目录结构
3第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现
(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除
(2)选中UIControl中的Div组件,将其拖至画布
点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕
点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示
(3)选中UIControl中的Text组件,将其拖至Div组件的中央区域
点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为“HelloWorld”
点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示
(4)选中UIControl中的Button组件,将其拖至Text组件下面
点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为“Next”,
点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px
至此,第一个页面创建完成
我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口
1在Project窗口,选择工程中的“entrysrcmainjsdefaultpages”,单击鼠标右键,选择“NewJSVisual”
Visual配置界面,JSvisualname填second,回车(Enter键)或者点击完成,进入编辑界面
2第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二创建第一个页面”)。
选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为“Hi,I'malwayshere.”
点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center
这样我们的第二个页面创建成功了
1在Project窗口,打开工程中的“entrysrcmainjsdefaultpagesfirstfirst.js”,导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:
2打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件
3在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。