HarmonyOS 鸿蒙Next中关键资产无法在应用删除后读取
HarmonyOS 鸿蒙Next中关键资产无法在应用删除后读取
LicenceAttr.set(asset.Tag.IS_PERSISTENT,true)
已经设置了不可被删除的标志,但是每次自动签名后进行打包,设备删除旧hap安装新hap时,关键资产无法被找到。但不进行自动签名,打包的hap有修改的功能以及可以读取关键资产。
        
          3 回复
        
      
      
        在HarmonyOS Next中,关键资产(如许可证文件)通过LicenceAttr.set(asset.Tag.IS_PERSISTENT, true)设置为持久化后,理论上应用删除时不应被清除。但根据你的描述,问题可能出现在自动签名环节。自动签名可能导致应用的证书或签名密钥变化,使得系统将新安装的HAP视为不同应用,从而无法访问旧数据。
建议检查以下方面:
- 签名一致性:确保自动签名使用的证书与旧版本一致。如果证书变更,系统会认为新应用是另一个实体,无法继承旧应用的持久化资产。
- 资产路径或标识:验证资产在代码中的访问路径是否严格匹配,避免因路径错误导致读取失败。
- 设备调试:在删除旧HAP前,通过DevEco Studio的日志或文件管理器确认资产是否确实存在且路径正确。
如果自动签名无法保持证书一致,可考虑手动签名或配置签名参数以固定证书。此外,测试时注意清理设备缓存,避免旧数据干扰。
 
        
       
                   
                   
                  


