关于“Static storage paths aren't available from AID_SYSTEM”
来源:互联网 发布:mac safari收藏网页 编辑:程序博客网 时间:2024/06/06 13:22
转自http://blog.sina.com.cn/s/blog_a28e3dd90101eqcz.html
异常LOG如下:
android.util.Log$TerribleFailure:
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
at
对于该异常Log的分析,根据提示我们在相应的代码中查到了Exception的语句:
162
继续跟进到getExternalStorageDirect
继续跟进上面的throwIfSystem()方法可以看到相应framework中的源码:
也就是说读取SD卡路径时系统会做一个判断,查看当前应用用的Shared
实际我们在manifest文件中是有配置
第一次打印的结果如下:
第二次打印的结果如下:
实际结果发现当前的Process
我们通过adb
那么我们发现实际的进程的PID就是该进程的UID,两个值是相同的。但实际上应用的UID是随机的分配,那么意味着配置
继续跟进该问题,我们发现对于Environment类中是有定义一个未公开的隐藏类UserEnvironment,在该类中是有重写getExternalStorageDirect
这个方法的处理,是规避了上面Environment中的抛异常的问题。对于这个隐藏的UserEnvironment是出于防止开发大量使用的目的而需要隐藏,若不隐藏开发者大量使用该类,就会导致之前设置系统权限app访问sd卡的机制完全无效,所以对于特别情况可以使用该类。而创建这个类的目的是处理特别情况下的当某些系统级应用必须要有访问sd卡的权限时,可以使用UserEnvironment来处理。
- 关于“Static storage paths aren't available from AID_SYSTEM”
- 关于“Static storage paths aren't available from AID_SYSTEM”
- 关于Static storage paths aren't available from AID_SYSTEM运行报错
- 求助!一点回返回键就退出报Static storage paths aren't available from AID_SYSTEM
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- Skyscrapers Aren’t Scalable
- You Aren’t Special
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- Mocks Aren't Stubs
- [MartinFowler] Mocks Aren't Stubs
- 7 Basic Reasons You Aren't Happy
- Why aren't you using Sublime Text ?
- Floating-point Numbers Aren't Real
- 12345阿尤史密达阿尤史密达阿尤史密达
- .NET组件程序设计之远程调用(二)
- dos下不能使用ping ,ipconfig, 等等指令
- cocos2d-x 一些有用的函数
- wiki的备份以及迁移方式
- 关于“Static storage paths aren't available from AID_SYSTEM”
- 将一个字符串中的空格全部替换为“%20”
- 关于eclipse jar导入以及Android的excel的使用(小白)
- HTTPS-Linux服务器Nginx配置、Android客户端证书生成
- ubuntu下安装 Source insight
- Android NDK 编译C、C++混合程序小结(1)
- ios 对plist文件的修改
- 初始化方法
- 条款16:成对使用new和delete时要采取相同形式