在DevEco刚出没多久的时候,就研究了一下下HAP的开发,当时开发语言还是用的java,虽然现在java已经被开除了😂。之后由于没啥具体使用场景又放下了,现在随着HarmonyOs Next的推进以及国产App的大量适配,HarmonyOs开发的热度又迎来了一波小高峰。可以预见,后续的App安全研究肯定会有HAP的一席之地。趁着这股东风,我也来凑凑热闹,重新再搞搞HarmonyOs,入个门。毕竟要搞逆向,先得了解一下正常开发嘛🥹
本文都是基于MAC来写的,但是实际上除了安装阶段其他的和Windows并没啥区别。
下面咱就一步一步来吧,先从我唯一精通的安装应用开始🥺
安装IDE
最低配置
官方的配置要求如下:
-
• 操作系统:macOS 10.15/11.x/12.x
-
• 芯片类型:Intel系列
-
• 内存:8GB及以上
-
• 硬盘:100GB及以上
-
• 分辨率:1280*800像素及以上
获取安装包
IDE可以从HUAWEI DevEco Studio和SDK下载和升级 | 华为开发者联盟[1]获取,DevEco支持Win和Mac(X86)以及MAC(ARM)。
安装
按照步骤逐步安装即可,此处就不再赘述了,实际上和AndroidStudio还有idea差不多。
配置
安装完成后会立即进入配置过程,步骤如下:
-
• 选择是否导入设置
-
• 设置nodejs和ohpm的路径
-
• SDK路径
-
• 总体情况
-
• 安装
-
• 完成
创建项目
创建项目和Android的模式也基本一致,无缝切换,灰常的人性化
创建
-
• 创建项目
-
• 选择模板
配置项目
需要注意的是最新的公开SDK(API9)开发语言只支持ArkTS,如果是API8支持ArkTS和JS,此处的配置项包括
ProjecName:项目名称
Bundle Name:包名
Save location:保存路径
Compile SDK:API版本
Model:模型,有两种,FA模型已不再主推,所以默认Stage即可,除非只能选FA
Enable Super Visual:启用低代码开发,开启后具备丰富的UI界面编辑功能,例如基于图形化的自由拖拽、数据的参数化配置等
Language:开发语言
Compatible SDK:兼容的SDK版本
Device Type:设备类型
关于Model:
有两种:
-
• FA(Feature Ability)模型:自鸿蒙系统早期版本就有的模型,适合简单应用。FA模型将Ability分为FA(Feature Ability)和PA(Particle Ability)两种类型,其中FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility。
-
• Stage模型:OpenHarmony API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。
想详细了解的可以看看这篇文章#HarmonyOS体验官#Stage模型与FA 模型的异同-华为开发者论坛 | 华为开发者联盟 (huawei.com)[2]
关于Enable Super Visual:
想了解的可以看看这里:
使用低代码进行开发-应用/服务开发-DevEco Studio使用指南(HarmonyOS)-工具-HarmonyOS应用开发[3]
SDK管理
DevEco自带SDK Manager,可以很方便的管理不同版本的SDK,位置在这:
SDK中提供了如下组件:
Previewer:HarmonyOS应用/服务预览器,在开发过程中可以动态预览Phone、TV、Wearable、LiteWearable等设备的应用/服务效果,支持JS、eTS和Java应用/服务预览
System-image-xxx:本地模拟器镜像
Toolchains:SDK工具链,HarmonyOS应用/服务开发必备工具集,包括编译、打包、签名、数据库管理等工具的集合
ArkTS:ArkTS语言包
JS:JS语言包
Native:C/C++语言SDK包
API版本再低一点的还有Java语言包,不过不需要在意,反正已经不再用了🤪
调试
调试可使用模拟器或者远程设备也可以使用自己的鸿蒙设备。
如果要使用自己的鸿蒙设备,需要进行如下准备:
由于我目前用的还是4.0的系统,所以开启方法是下面这种,不过如果要深入研究鸿蒙开发的话,还是用API9的模拟器吧,8和9看上去区别还是蛮大的。
-
• 开启USB调试
-
• 开启HDB,HDB开关在安全-更多安全设置里
之后数据线连接设备后,就可以看到和使用了。
不过需要注意一点,就是自身设备的API版本,如果前面API版本和兼容API版本都选了9的话,那么hap包大概率是安装不到api8的设备上的,如果发现报错[INSTALL_FAILED_INTERNAL_ERROR]
,可以考虑一下是不是API版本的问题。
查看设备API版本可以通过以下方法:
# 进入SDK安装目录,找到HDC
cd $SDK_HOME/hmscore/3.1.0/toolchains/hdc
# 通过hdcshell查看API版本
./hdc shell getprop hw_sc.build.os.apiversion
Demo
之后可以尝试把Demo安装到设备,然后进行正式的开发即可,来个Hello World吧:
引用链接
[1]
HUAWEI DevEco Studio和SDK下载和升级 | 华为开发者联盟: https://developer.huawei.com/consumer/cn/deveco-studio/[2]
#HarmonyOS体验官#Stage模型与FA 模型的异同-华为开发者论坛 | 华为开发者联盟 (huawei.com): https://developer.huawei.com/consumer/cn/forum/topic/0202105111455550468?fid=0101610563345550409[3]
使用低代码进行开发-应用/服务开发-DevEco Studio使用指南(HarmonyOS)-工具-HarmonyOS应用开发: https://developer.HarmonyOs.com/cn/docs/documentation/doc-guides/ide-low-code-0000001158284713
历史文章
随手分享、点赞、在看是对我们最大的支持
原文始发于微信公众号(移动安全星球):HarmonyOs开发第一步
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论