安装HAP时提示“code:9568344 error: install parse profile prop check error”错误

问题现象

在启动调试或运行应用/服务时,安装HAP出现错误,提示“error: install parse profile prop check error”错误信息。

解决措施

该问题可能是由于应用使用了应用特权,但应用的签名文件发生变化后未将新的签名指纹重新配置到设备的特权管控白名单文件install_list_capability.json中,请通过如下步骤进行解决。

  1. 获取新的签名指纹。

    1. 在项目级build-profile.json5文件中,signingConfigs字段内的profile的值即为签名文件的存储路径。
    2. 打开该签名文件(后缀为.p7b),打开后在文件内搜索“development-certificate”,将“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”以及中间的信息拷贝到新的文本中,注意换行并去掉换行符,保存为一个新的.cer文件,如命名为xxx.cer。

      新的.cer文件格式如下图(仅作为格式示意,内容以实际为准):

    3. 使用keytool工具(在DevEco Studio安装目录下的jbr/bin文件夹内),执行如下命令通过.cer文件获取证书指纹的SHA256值。
      keytool -printcert -file xxx.cer
    4. 将证书指纹中SHA256的内容去掉冒号,即为最终要获得的签名指纹。

      如SHA256值为下图(仅作为格式示意,内容以实际为准):

      去掉冒号后的签名指纹为:5753DDBC1A8EF88A62058A9FC4B6AFAFC1C5D8D1A1B86FB3532739B625F8F3DB

  2. 获取设备的特权管控白名单文件install_list_capability.json。

    1. 连接设备。
    2. 执行如下命令查看设备的特权管控白名单文件install_list_capability.json。
      find /system -name install_list_capability.json
      HarmonyOS设备上install_list_capability.json的位置通常为以下几种,选取其中一个即可:
      /system/variant/phone/base/etc/app/install_list_capability.json
      /system/etc/app/install_list_capability.json
      /system/etc/etc/app/install_list_capability.json

      OpenHarmony设备上install_list_capability.json的位置通常为:

      /system/etc/app/install_list_capability.json
    3. 执行如下命令拉取install_list_capability.json。
      hdc shell mount -o rw,remount /
      hdc file recv /system/variant/phone/base/etc/app/install_list_capability.json

  3. 将步骤1获取到的签名指纹配置到install_list_capability.json文件的app_signature中,注意要配置到对应的bundleName下。
  4. 将修改后的install_list_capability.json文件重新推到设备上,并重启设备。

    hdc shell mount -o rw,remount / 
    hdc file send install_list_capability.json /system/variant/phone/base/etc/app/install_list_capability.json 
    hdc shell chmod 777 /system/variant/phone/base/etc/app/install_list_capability.json 
    hdc shell reboot

  5. 设备重启后,重新安装新的应用即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Java EE] 网络编程与通信原理(三):网络编程Socket套接字(TCP协议)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

BookStack VS HelpLook两款知识库软件的区别

现在很多企业都会进行知识管理,在这个过程中,选择一个合适的知识库软件是一个不可避免的问题。在众多知识库软件中,HelpLook和BookStack这两款软件备受企业瞩目。不知如何选择,今天LookLook同学就简单介绍一下这两款知识库的区别&…

5.27作业

定义自己的命名空间my_sapce&#xff0c;在my_sapce中定义string类型的变量s1&#xff0c;再定义一个函数完成对字符串的逆置。 #include <iostream>using namespace std; namespace my_space {string s1;string reverse1(string s1);} using namespace my_space; int m…

工作经验总结:C语言中类函数的宏定义、宏定义拼接、常量指针与指针常量的识别记忆技巧整理

一、类函数的宏定义 初步接触AUTOSARS架构代码时&#xff0c;发现其中用了很多类函数的宏定义以及宏定义拼接等一些技巧来进行模块化&#xff0c;如果对C语言掌握不够熟练则可能会觉得比较难看懂&#xff0c;下面简单介绍一下几种见到的类函数宏定义使用方式。 大致的类函数的…

深入解读 ChatGPT 的基本原理(个人总结版)

引言 背景 人工智能&#xff08;AI&#xff09;技术自20世纪中期诞生以来&#xff0c;经历了多次革新和进步。从最早的图灵测试&#xff0c;到20世纪末的深蓝计算机击败国际象棋冠军&#xff0c;再到21世纪初谷歌AlphaGo击败围棋冠军&#xff0c;AI技术的飞速发展改变了人们的…

BEVFormer论文详细解读

文章目录 1. 前言1.1 3D VS 4D1.2 .特征融合过程中可能遇到的问题1.3 .BEV提出背景1.4 .BEV最终得到了什么1.5 .输入数据格式 2. 背景/Motivation2.1 为什么视觉感知要用BEV&#xff1f;2.2 生成BEV视角的方法有哪些&#xff1f;为何选用Transformer呢&#xff1f; 3. Method/S…

DSP教程

/// TMS320F28335 具有 150MIPS、FPU、512KB 闪存、EMIF、12 位 ADC 的 C2000™ 32 位 MCU /// 此文档中的《8.3 内存映射》部分做个大概的了解&#xff0c;用的时候查阅即可。 TMS320F2833x、TMS320F2823x 实时微控制器 数据表 (Rev. Q)PDF /// 这个实验要实际操作&…

分布式锁与ZooKeeper的探索之旅

一、引言 在现代的软件开发中&#xff0c;分布式系统扮演着越来越重要的角色。随着系统的扩展和复杂度的增加&#xff0c;确保多个进程或服务之间的数据一致性变得尤为重要。在这样的背景下&#xff0c;分布式锁的概念应运而生&#xff0c;它为分布式系统提供了一种协调机制&a…

Vapor Mode:Vue.js 的速度与激情,代码界的闪电侠

大家好&#xff0c;我是宝哥。 在快速发展的网络开发世界中&#xff0c;创新的Vue.js团队给我们带来了Vapor Mode。这个新模式优化了Vue的核心渲染过程&#xff0c;帮助我们的应用程序像轻烟一样运行&#xff0c;开发者无需深入复杂的优化工作。 在这篇文章中&#xff0c;我们将…

硝基酪氨酸检测试剂盒Nitrotyrosine ELISA Kit,比色法

硝基酪氨酸是反应体内氧化应激的标记物质。StressMarq可以提供硝基络氨酸的检测试剂盒。酪氨酸硝基化会导致细胞功能损伤。因此检测样本中的硝基酪氨酸含量尤为重要。StressMarq的硝基络氨酸检测试剂盒有多篇文献引用&#xff0c;产品质量有保障。除了有硝基络氨酸的检测试剂盒…

【微积分】Grant Sanderson

梯度&#xff1a;将各个偏导打包 定义&#xff1a;direction of steepest ascent 梯度向量的长度&#xff1a;最速上升方向的陡峭程度 方向导数&#xff1a;偏导的一种拓展 【托马斯微积分学习日记】13.1-线积分_哔哩哔哩_bilibili 概述 16.1line integrals of scalar funct…

直播预告:TinyVue 组件库实战解析,提升组件库构建技能!

在复杂的编码世界里&#xff0c;大家总希望能够寻找更高效、更简洁的解决方案来优化工作流程&#xff0c;提升开发效率。在5月28日晚7点 OpenTiny B站直播间&#xff0c;OpenTiny 非常荣幸地为大家带来一场关于 TinyVue 组件库实战分享的直播。届时&#xff0c;TinyVue 组件库成…

openEuler系统通过shell脚本安装openGauss 5.0.0企业版

上次提到的开机自启动的配置&#xff0c;获得了LD的称赞&#xff0c;然而LD的要求&#xff0c;都是“既得陇复望蜀”的&#xff0c;他又期望我们能实现openGauss安装的“自动化”&#xff0c;于是尝试了下用shell脚本部署&#xff0c;附件中的脚本实测有效&#xff0c;openEule…

JDBC的 PreparedStatement 的用法和解释

文章目录 前言1、封装数据库连接和关闭操作数据库配置文件 config.properties 2、批量添加操作3、查询操作4、修改和删除操作总结 前言 PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程 1、封装数据库连接和关闭操作 package org.springblade.m…

Leetcode 力扣90. 子集 II (抖音号:708231408)

给你一个整数数组 nums &#xff0c;其中可能包含重复元素&#xff0c;请你返回该数组所有可能的 子集 &#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。返回的解集中&#xff0c;子集可以按 任意顺序 排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,2…

线程安全-3 JMM

一.谈一下JMM 1.JMM&#xff0c;JavaMemoryModel&#xff0c;Java内存模型。定义了多线程对共享内存读写操作的行为规范&#xff0c;通过规范多线程对共享内存的读写操作&#xff0c;以保证指令执行和结果的正确性。 2.JMM把内存分为两块 &#xff08;1&#xff09;主内存&a…

图论(二)-图的建立

引言&#xff1a; 建图&#xff0c;将图放进内存的方法 常用的建图方式&#xff1a;邻接矩阵&#xff0c;邻接链表&#xff0c;链式前向星 一、邻接矩阵 通过一个二维数组即可将图建立&#xff0c;邻接矩阵&#xff0c;考虑节点集合 &#xff0c;用一个二维数组定义邻接矩…

迭代器模式(行为型)

目录 一、前言 二、迭代器模式 三、总结 一、前言 迭代器模式(Iterator Pattern&#xff09;是一种行为型设计模式&#xff0c;提供一种方法顺序访问一个聚合对象中各个元素&#xff0c;而又不暴露该对象的内部表示。总的来说就是分离了集合对象的遍历行为&#xff0c;抽象出…

gcc -m32 一堆报错:No such file or directory

问题&#xff1a;终端执行命令gcc -m32 *.c -o xxx.so 出现一堆缺失文件的报错。 解决办法&#xff1a;库没装全&#xff0c;终端执行下面的命令。 sudo apt install gcc-multilib

sql去除表中某个字段的空格

比如表中名字字段&#xff0c;名字之间有空格&#xff0c;需要把空格去除&#xff0c;应该如何写SQL语句实现&#xff1f; 在SQL中&#xff0c;可以使用TRIM函数来去除字符串两端的空格&#xff0c;如果需要去除字段中的所有空格&#xff0c;可以使用REPLACE函数结合TRIM函数。…