开发者社区 问答 正文

我这边EMAS告诉我没有文件读写权限,我还需要去动态申请一下么?

我这边EMAS告诉我没有文件读写权限,我还需要去动态申请一下么? /data/user/0/com.xxx.xxx/files/com_alibaba_aliyun_crash_defend_sdk_info: open failed: ENOENT (No such file or directory) E/CrashUtils: load sdk file fail提示这个错误

展开
收起
真的很搞笑 2023-04-27 22:18:00 149 分享 版权
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    根据您提供的错误信息,可能是由于应用没有文件读写权限导致的。在 android 系统中,如果应用需要对文件进行读写操作,需要先获取文件读写权限。

    如果您使用的是 emas 提供的 sdk,可以尝试在应用启动时申请文件读写权限,代码示例如下:

    private void requestpermissions() { if (build.version.sdk_int >= build.version_codes.m) { if (checkselfpermission(manifest.permission.write_external_storage) != packagemanager.permission_granted) { requestpermissions(new string[]{manifest.permission.write_external_storage}, 1); } } } java 在上述代码中,首先判断当前系统版本是否大于等于 android 6.0,如果是,则检查应用是否已经获取了文件读写权限。如果没有获取权限,则调用 requestpermissions() 方法申请权限。

    如果您使用的是自己编写的 sdk 或者其他第三方 sdk,也可以按照上述方法进行权限申请。需要注意的是,在申请权限时,需要向用户解释为什么需要这个权限,并确保用户同意授权。

    另外,如果您的应用需要对文件进行读写操作,建议将文件存储在应用的私有目录中,以确保文件安全性和隐私性。可以使用 context.getfilesdir() 方法获取应用私有目录的路径。

    2023-04-29 18:59:59
    赞同 展开评论
  • 参考官网文档,检查下集成步骤,此回答整理自钉群“应用研发平台EMAS开发者交流群”

    2023-04-27 23:26:23
    赞同 展开评论