12-16号华为发布鸿蒙2.0手机beta版,以下的问题和分析以及截图等均来自于华为官方的DevEco Studio(版本号2.0.12.201)以及远程提供的P40手机运行环境(除部分可能涉及个人账号的信息会被擦除外,均无任何人为修改)。 个人不对鸿蒙2.0手机beta版做任何魔改安卓,自行研发的讨论,任何人(多少有点开发经验)都可以按照文中的步骤重现所有过程。文中的所有的问题及分析,均基于计算机开发的常识(也不排除有错误的可能,可以讨论,但请言之有物)。
步骤一 注册用户及配置开发环境
要开发鸿蒙应用,必须去官网注册开发者身份,批准后即可下载对应的DevEco Studio,并获得使用远程虚拟手机的权限。整个过程没什么必要详细介绍的,有兴趣的同学自行百度即可。
但有几点需要吐槽一下:
-
每次使用远程虚拟机,都得通过浏览器登录,能不能直接提供账号密码的登录方式,实在不行,你使用内置浏览器也好办点啊。
-
不提供本地虚拟机实在是太慢了,断点调试时,需要从远程虚拟手机上取得堆栈调用信息,我恍如看动画一样看着那个堆栈树在刷新(附一句,我用的是1G光纤加5G 300M Wifi)。
-
DevEco Studio不知道怎么想的,虚拟手机的交互界面上部占用了极大的空间显示着P40和剩余使用时间(单次只能一个小时),把这些信息放在工具栏上面不好吗?实在不行,你合成一行,或者放在侧面,也节省点空间啊(如果是MediaPad,倒是可以放上面)。
-
DevEco Studio的界面预览功能,应该是用NodeJs来支持,但非常之慢,我还没有成功过呢,反正界面简单,实在懒得折腾了。
-
虚拟手机的调试功能不稳定,时不时就出现无法使用,只能重新启动。
-
虚拟手机的WebView有问题,我无法使用浏览器,甚至无法登录QQ等,除了影响使用外,我连程序生成的文件都不方便拿到本地,对于调试非常不友好。
-
Idea太吃内存了,我8G的笔记本,用它总是内存满满的,还出现几次内存不足退出。
安装完DevEco Studio后,还需要在Setting中下载HarmonyOS SDK后才能使用,这点和Android Studio是一样的,熟悉的同学应该很容易上手,不熟悉的自己百度吧。
对于分析APK等程序,我使用的是jadx1.2,无法插入链接(大家自己百度并下载吧)。
步骤二 直接开发并远程部署一个Hap应用
启动DevEco Studio后,创建一个手机应用,并选择Studio提供的Business Card模板(也就是一个名片列表应用),然后一路点下去,直接使用默认的MyApplication这个名字,然后就很顺利地生成整个项目了。
接下来,需要在菜单里打开 Tools-> HVD Manager,中间可能需要登录到华为的开发账户,或者可以提前在 Tools->DevEco Login->Login进行登录操作。 登录成功后,启动HVD Manager,就有一系列设备可选,直接选择P40即可(也只有这一个手机设备可以选择),然后点击蓝色的三角启动按钮即可使用远程的虚拟机,大概几秒到几十秒(启动比较快,我本机只需要5秒左右即可使用了),就可以看到远程可用的虚拟机。
虚拟机启动后,即可通过上面的Run/Debug远程部署自己的应用了。
部署时出现的是以下内容:
12/17 11:01:08: Launching com.example.myapplication
$ hdc shell am force-stop com.example.myapplication
$ hdc shell bm uninstall com.example.myapplication
$ hdc file send C:/Users/***/DevEcoStudioProjects/MyApplication/entry/build/outputs/hap/debug/entry-debug-unsigned.hap /sdcard/670e402d7ec643aab51bb93c72ca6c77/entry-debug-unsigned.hap
$ hdc shell bm install -p /sdcard/670e402d7ec643aab51bb93c72ca6c77/
$ hdc shell rm -rf /sdcard/670e402d7ec643aab51bb93c72ca6c77
$ hdc shell am start -n "com.example.myapplication/com.example.myapplication.MainAbilityShellActivity" -D
Waiting for application to come online: com.example.myapplication
Connecting to com.example.myapplication
能复现吗,能复现的话就把你的常用邮箱和空闲时间发送到deveco_studio@huawei.com,方便远程会议现场解决问题