使用DevEco开发仓颉版本的HarmonyOS 鸿蒙Next app存在问题
使用DevEco开发仓颉版本的HarmonyOS 鸿蒙Next app存在问题
07-05 11:41:23.690 5130 5130 E C02c11/APPSPAWN: [sandbox_utils.cpp:287]check dir /data/app/el1/public/aot_compiler/ark_cache/com.lumos.myapplication failed, strerror: No such file or directory
07-05 11:41:23.690 5130 5130 I C02c11/APPSPAWN: [sandbox_utils.cpp:361]errno is: 13, bind mount /data/app/el1/100/shader_cache/com.lumos.myapplication to /mnt/sandbox/100/com.lumos.myapplication/data/storage/shader_cache/local
07-05 11:41:23.690 5130 5130 E C02c11/APPSPAWN: [sandbox_utils.cpp:287]check dir /data/app/el1/100/shader_cache/com.lumos.myapplication failed, strerror: Permission denied
07-05 11:41:23.690 5130 5130 I C02c11/APPSPAWN: [sandbox_utils.cpp:361]errno is: 13, bind mount /data/app/el1/public/shader_cache/cloud/com.lumos.myapplication to /mnt/sandbox/100/com.lumos.myapplication/data/storage/shader_cache/cloud
07-05 11:41:23.690 5130 5130 E C02c11/APPSPAWN: [sandbox_utils.cpp:287]check dir /data/app/el1/public/shader_cache/cloud/ failed, strerror: Permission denied
07-05 11:41:23.690 5130 5130 I C02c11/APPSPAWN: [sandbox_utils.cpp:361]errno is: 13, bind mount /data/app/el1/public/shader_cache/cloud/common to /mnt/sandbox/100/com.lumos.myapplication/data/storage/shader_cache/common
07-05 11:41:23.690 5130 5130 E C02c11/APPSPAWN: [sandbox_utils.cpp:287]check dir /data/app/el1/public/shader_cache/cloud/ failed, strerror: Permission denied
更多关于使用DevEco开发仓颉版本的HarmonyOS 鸿蒙Next app存在问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
DevEco Studio开发鸿蒙Next应用时,仓颉版本需注意:
- 确保DevEco Studio为最新版(4.1+),SDK选择API 10+的鸿蒙Next专用版本
- 仓颉应用需使用.ets扩展名,EntryAbility需继承UIAbility而非Ability
- 资源文件必须存放于resources/rawfile目录下
- 页面路由需使用
router.pushUrl()
新API - 编译前需在
module.json5
中确认"compileMode":"esmodule"
常见报错处理:
- 缺少@ohos模块引用时,检查import路径是否正确
- UI渲染异常需检查ArkTS组件是否使用最新语法,
更多关于使用DevEco开发仓颉版本的HarmonyOS 鸿蒙Next app存在问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
从错误日志来看,这是HarmonyOS Next应用沙箱权限问题导致的目录访问失败。主要涉及两个问题:
- 目录不存在错误(No such file or directory):
- 系统在/data/app/el1/public/aot_compiler/ark_cache/路径下找不到应用的缓存目录
- 权限拒绝错误(Permission denied):
- 应用沙箱无法访问/data/app/el1/100/shader_cache/等路径
- 主要错误码是13(EACCES),表示权限不足
建议检查:
- 确保在config.json中正确声明了ohos.permission.STORAGE权限
- 检查应用沙箱配置是否正确,特别是storage相关配置
- 尝试清理应用数据重新安装
- 确认使用的DevEco Studio版本是否支持仓颉版本的开发要求
这些错误通常是由于应用沙箱机制对文件系统访问的严格限制导致的,需要确保所有资源访问都符合HarmonyOS的安全规范。