DevEco Studio测试系统接口的准备(应用权限与自动签名)
DevEco Studio
DevEco Studio 基于 IntelliJ IDEA Community 开源版本打造,是面向华为终端全场景多设备的一站式集成开发环境,为开发者提供工程模板创建、开发、编译、调试、发布等 E2E 的 HarmonyOS 应用开发服务。默认使用华为自研的 ArkTS 语言(TypeScript 的扩展),同时兼容 JS、Java、C/C++ 等编程语言,方便不同技术背景的开发者进行鸿蒙应用开发。
Full SDK 与 Public SDK
在软件开发领域,Full SDK 和 Public SDK 是与软件开发工具包(SDK)相关的两个概念,它们的区别主要体现在功能范围、适用场景和获取方式上。
Full SDK(完整软件开发工具包) 是指包含某平台或框架全部功能、工具、接口和资源的完整版本 SDK。
- 它通常涵盖了该平台的所有核心功能、扩展模块、调试工具、开发文档以及示例代码等。
- 适合需要深入开发、使用平台全部功能的开发者,例如开发复杂应用、调用底层接口或进行定制化开发的场景。
Public SDK(公共软件开发工具包) 是指仅包含平台公开的核心功能、常用接口和基础工具的简化版本 SDK。
- 它通常剔除了一些高级功能、内部接口或仅对特定合作伙伴开放的模块,只保留了开发者日常开发所需的基础功能。
- 适合初学者、快速开发简单应用或仅需使用平台基础功能的开发者,其体积更小、学习和使用门槛更低。
简单来说,Public-SDK 是提供给应用开发的工具包,跟随 DevEco Studio下载,不包含系统应用所需要的高权限API。而 Full-SDK 不能随 DevEco Studio 下载,包含了系统应用所需要的高权限 API 。三方开发者通过 DevEco Studio 自动下载的 SDK 均为 Public 版本。我们以@ohos.file.volumeManager为例,Public-SDK不支持开发者使用该系统API,需要使用Full-SDK。
如何获取Full-SDK
1.源码编译
./build.sh --product-name ohos-sdk --ccache
2.OpenHarmony工作台下载
https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist
Full-SDK替换Public-SDK
1.查看SDK路径
左上角,file,settings

2.替换
根据SDK版本命名,例如5.1.0为API 18,命名为18,替换掉原来的18(先删除原来的18再移动过来)。

SDK目录:

3.替换成功
可在项目External Libraries/ArkTS-API下看到相关系统接口。

应用权限
以volumemanager.getAllVolumes为例,需要权限ohos.permission.STORAGE_MANAGER。
main目录下module.json5添加:
"requestPermissions": [
{
"name": "ohos.permission.STORAGE_MANAGER"
}
]
权限官方文档查询权限级别:https://docs.openharmony.cn/pages/v5.1/zh-cn/application-dev/security/AccessToken/app-permissions.md

自动化签名
修改SDK目录下两个文件:

根据权限修改apl与app-feature参数,然后保存文件。后续使用时,若权限级别未发生变化,不需要重复修改文件的权限级别。
勾选自动化签名:单击File > Project Structure > Project > Signing Configs界面勾选Automatically generate signature,等待自动签名完成即可,单击OK。

OpenHarmony针对应用/服务访问额外的系统或其他应用/服务的数据(包括用户个人数据)或功能,提供了一种访问控制机制来保证这些数据或功能不会被不当或恶意使用,即应用权限。根据权限对于不同等级应用/服务有不同的开放范围,权限类型对应分为以下三种,等级依次提高。
normal 权限
- 最基础的权限类型,通常用于访问非敏感的系统功能或数据,如获取设备屏幕亮度、访问网络等。
- 这类权限对应用 / 服务的开放范围最广,一般无需用户手动授权,系统会在应用安装时自动授予,开发者在配置文件中声明即可使用。
system_basic 权限
- 权限等级高于 normal,涉及系统基础功能或中等敏感数据的访问,如获取设备型号、管理网络连接状态等。
- 开放范围相对受限,通常仅对系统应用或经过认证的第三方应用开放。部分权限可能需要用户在应用使用过程中手动授权,或在开发阶段通过特定配置申请。
system_core 权限
- 权限等级最高,涉及系统核心功能、敏感用户数据或可能影响设备安全的操作,如修改系统时间、访问用户隐私数据(通讯录、位置等)、管理应用安装 / 卸载等。
- 开放范围最严格,主要面向系统核心应用或具有特殊资质的信任应用。获取此类权限通常需要特殊的签名认证、系统级别的配置,甚至需要与设备厂商合作,确保仅被合法且必要的场景使用。
这种分级机制的核心目的是通过 “最小权限原则” 保护用户数据安全和系统稳定性,确保应用 / 服务仅能获取其功能所必需的权限,避免权限滥用。开发者需根据应用实际需求,在配置文件中精确声明所需权限,并遵循 OpenHarmony 的权限申请规范。
更多推荐


所有评论(0)