HarmonyOS 鸿蒙Next 获取SignatureInfo失败

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

调用bundleManager.getBundleInfoForSelf,SignatureInfo返回null.代码如下,有人遇到过吗:

let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION;

try {

  bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => {

    hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data));

  }).catch((err: Error) => {

    hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message);

  });

} catch (err) {

  // let message = (err as BusinessError).message;

  hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', err.message);

}

更多关于HarmonyOS 鸿蒙Next 获取SignatureInfo失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
设置 let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;

BundleFlag枚举值 GET_BUNDLE_INFO_WITH_SIGNATURE_INFO,用于获取包含signatureInfo的bundleInfo。获取的bundleInfo不包含applicationInfo、hapModuleInfo、extensionAbility、ability和permission的信息。

BundleFlag枚举值 GET_BUNDLE_INFO_WITH_APPLICATION,用于获取包含applicationInfo的bundleInfo,获取的bundleInfo不包含signatureInfo、hapModuleInfo、ability、extensionAbility和permission的信息。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-bundlemanager-V5#bundleflag

更多关于HarmonyOS 鸿蒙Next 获取SignatureInfo失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next环境中遇到获取SignatureInfo失败的问题,通常是由于以下几个原因:

  1. 签名文件缺失或损坏:确保APK或应用包中包含有效的签名文件,并且签名文件未损坏。检查签名工具的配置,确保使用的密钥和证书与包名一致。

  2. 签名算法不匹配:HarmonyOS要求使用特定的签名算法。确认签名算法是否符合HarmonyOS的要求,例如使用SHA-256算法进行签名。

  3. 应用包格式错误:检查APK或应用包格式是否正确,确保没有损坏,且符合HarmonyOS的安装要求。

  4. 系统权限问题:在某些情况下,获取SignatureInfo可能受到系统权限的限制。确认应用具有足够的权限来访问签名信息。

  5. 版本兼容性:确保你的开发环境和目标设备上的HarmonyOS版本兼容。有时,新版本的操作系统可能引入了对签名验证的新要求。

如果以上检查均无误,但问题依旧存在,可能是系统级的bug或特定环境下的兼容性问题。此时,建议直接联系官方客服以获取更具体的帮助。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部