安全原则:HarmonyOS NEXT版本上已部署强制代码签名机制,所有上架应用市场及开发者调试的应用,都需要使用合法证书对代码文件进行签名,才能在设备端正常执行。由开发者直接推送到设备端的so文件会因为端侧校验合法签名失败,而被系统拦截,从而导致加载失败。
针对开发者so文件的部署:
- 发布阶段:普通三方应用的所有so文件都需要打包在应用HAP包内,随应用一起上架应用市场做强制代码签名(通过热更新下载的so文件由于缺乏合法签名会被系统拦截)。
- 调试阶段:在开发态下,HAP文件及包内的so文件使用开发者证书做代码签名,并在安装时由包管理完成代码文件的代码签名使能。此外,最新的DevEco Studio提供热重载(Hot Reload)功能,支持将代码文件(包括so文件等)快速推送到设备端安装并做签名使能。具体而言,IDE支持将项目目录内新增/新修改的代码文件打包到hqf包,使用开发者证书对包进行签名,然后通过HDC推送到设备侧,最后通过包管理触发HQF的安装以及签名使能,从而完成了新代码文件到端侧的部署。