HarmonyOS鸿蒙Next中如何从Native侧动态获取ArkTs运行时类信息

HarmonyOS鸿蒙Next中如何从Native侧动态获取ArkTs运行时类信息 在服务端需要验证应用身份信息的场景下,目前已知有包名,请问鸿蒙还有哪些可以在运行时获取到的身份信息可供用于验证

3 回复

从安全角度考虑,身份识别信息是否有从Native侧获取到的方法? Native可以使用Native Bundle接口获取应用自身相关信息,包括应用包名、appId等。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-ndk-17

更多关于HarmonyOS鸿蒙Next中如何从Native侧动态获取ArkTs运行时类信息的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,从Native侧动态获取ArkTs运行时类信息可以通过napi_get_propertynapi_get_named_property等NAPI接口实现。首先,使用napi_get_global获取全局对象,然后通过napi_get_named_property获取ArkTs类的构造函数。接着,使用napi_get_property获取类的属性和方法。这些操作需要在Native代码中通过NAPI与ArkTs运行时进行交互。

在HarmonyOS Next中,从Native侧获取ArkTs运行时类信息可以通过以下方式实现:

  1. 使用Native API中的napi_get_property和napi_get_named_property方法可以获取ArkTS对象的属性和方法信息。

  2. 通过napi_get_prototype可以获取对象的原型链信息,这对于运行时类型检查很有帮助。

  3. 对于应用身份验证,除了包名外,还可以获取:

    • 应用UID(通过getApplicationInfo接口)
    • 应用签名信息
    • 应用权限列表
    • 应用安装来源信息
  4. 建议使用@ohos.bundleManager模块中的BundleInfo来获取更完整的应用信息,包括versionCode、vendor等字段。

这些信息组合使用可以构建更可靠的应用身份验证机制。

回到顶部