HarmonyOS鸿蒙Next中关于开发应用源码问题

HarmonyOS鸿蒙Next中关于开发应用源码问题 如果我手里有鸿蒙应用的源码,我该如何能找到鸿蒙应用里存在的所有API呢

12 回复

如果是技术:试试 DevEco Studio的《Generate ArkTSDoc》
cke_1573.png

更多关于HarmonyOS鸿蒙Next中关于开发应用源码问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


想要找出鸿蒙应用源码里所有用到的API,首先可以用开发工具DevEco Studio打开整个源码项目,等待项目完成索引加载,接着使用软件自带的全局搜索功能,批量检索源码中所有导入的系统包名与接口调用代码,也可以借助代码依赖分析工具扫描项目依赖库,梳理出所有原生系统API,再逐文件查看页面与功能逻辑里调用的各类方法,最后将扫描检索到的所有系统接口统一汇总整理,就能完整统计出该鸿蒙应用用到的全部API内容。

每个文件import的就是。可以让ai agent帮你总结。,

楼主,你所说的api是指 请求服务器的借口api还是调用华为系统能力的api呢。

自己服务器api:

如果是应用服务的api接口,你可找到对应的请求地址,直接使用ctrl+左键看到具体方法的调用地方就好了。

系统api: 你可以参照文档进行,或者可以将如下图方式导出整个项目内容,

cke_6577.png

cke_7041.png

尊敬的开发者,您好,
1.使用DevEco Studio打开项目,在DevEco Studio上方菜单栏,选择Tools>Generate ArkTSDoc生成文档,进行查看。
2.可以全局搜索import字段,查找所有 import 语句,这是最直接的 API 引入方式。
3.检查配置文件module.json5查看 module.json5 中的权限声明,可以推断出使用的 API 模块。
以上是几种方式查看应用使用API的方式。

快捷键:Alt+7(Windows)/ Cmd+7(Mac)然后打开 Structure 面板。

面板里会列出:

所有导入的系统模块:@ohos.xxx@kit.xxx[@system](/user/system).xxx

所有组件:ButtonListRouterhttp

所有方法 / 属性:getContext()request()push()

比如我的是windows11

cke_2186.png

另外你还可以用其他的:

DevEco Studio 打开源码 → 等索引完成。

双击 Shift → 搜 @ohos.、@kit.、@system. → 导出结果。

打开 package.json → 复制 dependencies 三方库列表。

打开 module.json5 → 记录 requestPermissions 权限 API。

执行 hvigorw build → 从编译日志补全遗漏 API。

合并所有结果 → 去重 → 得到完整 API 清单。

没那么复杂 正规的项目 基本上会有个 api 文件夹 ,在文件夹中会有所有的api 接口, 此外 还可以通过全局搜索 request 字段来查找 , 如有帮助给个采纳谢谢

可以

  1. 从 OpenHarmony 官方仓库下载“应用 API 解析”工具。命令如下:

    bash

    git clone https://gitee.com/openharmony/interface_sdk-js.git
    

    工具位于 interface_sdk-js/build-tools/ 目录下。

  2. 工具使用:在终端进入工具所在目录,并执行相关脚本。你可以查阅该目录下的 README_zh.md 文档了解具体的命令参数。

如果你有 HarmonyOS 应用源码,想找“项目里用了哪些 API”,一般有这几种方式:

1、全局搜 import(最快)

直接全局搜索:

import

重点看这些包:

  • @kit.ArkUI
  • @kit.AbilityKit
  • @kit.CoreFileKit
  • @kit.NetworkKit
  • @kit.BasicServicesKit
  • @ohos.xxx(老版本写法)

这些 import 基本就能看出项目用了哪些系统能力。


2、直接全局搜关键调用符号

搜:

.

重点关注:

  • window.xxx
  • router.xxx
  • fs.xxx
  • promptAction.xxx
  • pasteboard.xxx
  • want.xxx

这些就是实际调用的 HarmonyOS API。


3、看 module.json5(很关键)

这个文件能直接看应用声明了哪些能力:

  • 权限(permission)
  • Ability
  • Extension
  • deviceType

比如看到:

"requestPermissions"

就知道用了相应系统能力。


4、用 DevEco 的“跳转定义”

在 DevEco Studio 里:

  • Command + 点击(Mac)
  • Ctrl + 点击(Windows)

点 API 名可以直接跳到 SDK 定义,看完整接口。


5、自动统计(推荐)

如果想一次性列出所有 API:

全局搜索:

@kit.

或者:

@ohos.

把所有 import 提出来去重,基本就是这个项目依赖的全部鸿蒙 API。

比如:

import { window } from '@kit.ArkUI'
import { pasteboard } from '@kit.BasicServicesKit'

就说明用了:

  • 窗口管理 API
  • 剪贴板 API

一句话:

最直接的方法就是全局搜 import **/ ** @kit. **/ ** @ohos. ,再结合 module.json5 看权限声明,就能快速摸清源码里用了哪些鸿蒙 API。

笨方法:

DevEco Studio打开某个源码文件,注释掉 import 的系统模块,即// import ** from "@"** 的import语句,然后看看有哪些错误,就知道是哪些API了。

HarmonyOS NEXT应用源码基于ArkTS语言,采用声明式UI框架ArkUI。源码结构包含entry模块(主入口)、oh-package.json5(依赖管理)及module.json5(模块配置)。资源文件存放于resources/base目录。应用逻辑通过@Entry@Component装饰器定义页面,使用@State管理响应式数据,不支持Java或C语言原生开发。

在 HarmonyOS Next 应用源码中定位所有 API,最直接的方式是借助 IDE 的代码分析功能

  1. 依赖分析视图:在 DevEco Studio 中打开项目后,进入 “Dependencies” 窗格,查看应用引用的所有模块和 ArkUI、JS、System API 等官方库,这些库里包含了应用可调用的全部公开接口。
  2. 搜索与引用自动收集:利用全局搜索(Ctrl/Shift 双击)查找@ohos.* 关键字,但更准确的是通过 “Find Usages – 查找用法” 或在终端使用 静态分析工具 (如 ArkUI 的 arkanalyzer) 扫描源码,它能自动收集导入语句中的模块路径,生成所有显式使用的 API 列表。
  3. 源码追溯:按住 Ctrl 点击代码中的 API,若跳转至 .d.ts 类型声明文件,则确认是一个鸿蒙官方 API。IDE 的代码补全列表本身也会列出当前作用域可访问的所有接口。

综合来看,在 IDE 中执行一次全项目 “Find Usages” 或依赖分析,即可快速导出应用实际触及的完整 API 集合。

回到顶部