之前测试过使用华为DevEco开发智能电视应用。前几天华为发布了手机的测试版,不能免俗,抓紧尝试一下。
站在用户的角度思考问题,与客户深入沟通,找到瑞昌网站设计与瑞昌网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟主机、企业邮箱。业务覆盖瑞昌地区。
手头没有华为手机测试系统,现在试一下开发环境跑模拟器感受一下。
以前DevEco里是没有手机选项的,现在该选项可以看到了:
这里测试一下Business Card Ability(Java)开发。
DevEco和Android Studio一样基于开源的Idea版本开发的,其结构与安卓开发环境非常像,熟悉安卓的小伙伴应该能很快上手。
入口程序是一个MyApplication,从AbilityPackage继承。
它首先找到了连接的荣耀手机,但这个手机不是鸿蒙系统。
编译是成功了,但提示设备无法使用:
点击Tools - HVD Manager
首先提示登陆华为账号,登陆后,选择一个模拟器运行:
启动以后长这个样:
点击设置,先看看关于:
上面显示大大的HarmonyOS。但感觉画面很模糊,不知道模拟器到底是运行在本地的,还是云端的。但DevEco上显示是Remote Device字样。
鸿蒙OS版本号 2.0.0 Developer Beta1。
再点运行,在指定的模拟器上运行程序。
不过仍然运行失败:
鸿蒙OS版本与平板是一致的,
程序终于跑起来了:
看起来安卓程序好像真能在鸿蒙直接运行,安装一个快手试试:
还真能看:
我真分不清这是安卓还是鸿蒙了 。
自从2021年华为给近百台机型升级鸿蒙2.0系统之后,很多华为手机用户能够明确感知到一件事情:更新到鸿蒙2.0之后手机就很少收到系统更新包了,距离上一次升级可能最长的都有好几个月了。
据余承东在去年12月公布的一次数据显示,已经有2.2亿台华为设备升级到了鸿蒙2.0系统,这么多设备的背后可是上亿的花粉用户,在看着身边用其他手机的朋友一周一次升级,而自己的手机却是好几个月没升级,难免心中会有一些其他不好的猜想。
难道鸿蒙系统到2.0版本就截止了吗?华为已经准备放弃手机业务了吗?
但直到最近一条华为喜讯的传来,这些猜测都成为了不可能。
据华为官方论坛的消息显示,鸿蒙系统再次开启内测, 对华为Mate30Pro和荣耀Play4T Pro这两款机型进行鸿蒙2.0新特性版本的内测招募。
这个鸿蒙2.0新特性版本招募的人数并不多,每款机型只有1500个名额,两款机型加在一起才3000个名额。
相比于华为Mate30 Pro这种千万级别销量的手机而言,这种小规模的测试也是为了将系统有可能出现的风险控制在最小范围内,而根据华为手机系统推送的惯例,在内测完成之后就会进行大批量的公测,这时候才会从小规模的几千人扩展到百万人甚至全体用户。
但这次华为Mate30Pro两款机型其实已经是第二批内测了, 早在2月10日时,华为就对华为MateX2和Mate40 Pro两款机型进行了鸿蒙2.0新特性版本的首批内测。
而据一些网友猜测,这次被称为新特性版本的鸿蒙2.0系统很可能就是鸿蒙3.0的前身,因为按照往常的规律,华为手机在进行系统大版本迭代时,都会在之前进行一次新特性版本的更新,通过小规模的用户体验来验证新系统的稳定性。
果不其然,已经有网友在网上爆料称鸿蒙3.0系统将会于3月份开启内测。
如果消息属实的话,已经升级鸿蒙2.0系统的花粉们也算是熬出头了。
从2021年6月鸿蒙系统正式推送算起,到现在也过去大半年时间了,很多用户看着其他品牌手机都陆续推出了全新系统早已眼馋很久,这次鸿蒙3.0系统内测消息的曝光也算是久旱逢甘霖了。
而根据之前华为官方声称的鸿蒙系统布局方案,最新的鸿蒙3.0系统架构将会实现弹性部署,简单来讲, 就是应用开发者只需要进行一次开发,就能将软件部署到手机、手表、车机等不同硬件终端上。
实现万物互联是华为很早就开始的战略布局,从目前所使用的鸿蒙2.0系统体验来看,它的互联属性其实很薄弱,虽然它实现了手机、电脑、平板和车机的多屏协同,但这些功能早在EMUI系统时就已经出现了,所以这并没有让用户真正看到鸿蒙与安卓的本质性区别,这也是“鸿蒙套娃安卓”这种舆论一直反复出现的原因之一。
所以鸿蒙2.0系统它的市场定位更像是一个过渡性产品,先让上亿的华为用户全部从安卓系统换到鸿蒙,然后经过一年的体验期让用户都从心里认可鸿蒙系统之后,华为再将之前对于万物互联的设想全部加入到下一代迭代版本当中。
参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在 AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1. 鸿蒙手机通过USB连接电脑,并开启USB调试。
2. 一个华为开发者账号,实名认证
3. APP开发工具DevEco-Studio
关键流程:
1. Studio创建应用
2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”
3. AppGallery创建应用(包名和Studio创建的一样)
4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动
5. Studio中Build Generate key and CSR 生成p12和csr文件
6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)
7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)
8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)
9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件
10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
开发前的准备:「鸿蒙开发 1」华为鸿蒙应用集成开发环境DevEco Studio安装和设置
了解鸿蒙应用开发的基本开发流程:「鸿蒙开发 2」第一个华为鸿蒙(HarmonyOS)应用程序(App)
本章目标:
1 了解华为鸿蒙应用开发的可视化(低代码)方式
2 通过构建一个简单的具有页面跳转功能的应用
低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。
1 打开DevEco Studio,创建一个新工程,选择支持Phone / Tablet / Wearable(手机 / 平板 / s可穿戴)的模板,我们在此直接选择Empty Ability
Project name工程名称填SuperVisual
Development mode开发方式选择Super Visual
其它的可以使用默认设置,点击完成,进入编辑界面
1 在Project(项目)窗口,删除工程运行默认的入口文件夹:“entry src main js default pages index”文件夹
2 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
JS visual name填first,点击完成,进入编辑界面
创建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目录结构
3 第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现
(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除
(2)选中UI Control中的Div组件,将其拖至画布
点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕
点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示
(3)选中UI Control中的Text组件,将其拖至Div组件的中央区域
点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hello World ”
点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示
(4)选中UI Control中的Button组件,将其拖至Text组件下面
点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为 “ Next ”,
点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px
至此,第一个页面创建完成
我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口
1 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
Visual配置界面,JS visual name填second,回车(Enter键)或者点击完成,进入编辑界面
2 第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二 创建第一个页面”)。
选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hi,I'm always here. ”
点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center
这样我们的第二个页面创建成功了
1 在Project窗口,打开工程中的“entry src main js default pages first first.js”, 导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:
2 打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件
3 在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。