在安卓开发过程中,有些应用需要system权限,可以在AndroidManifest.xml添加android:sharedUserId=“android.uid.system”,这样就可以让程序运行到系统进程中去,可以进行相应的系统操作。

但在AndroidManifest.xml中添加android:sharedUserId="android.uid.system"后,就无法对sd卡进行读写操作,比如在SD卡中创建一个新文件夹,是创建不成功的。如果把android:sharedUserId="android.uid.system"注释掉,就可以在SD卡进行IO操作了,但又不能达到相应的实现效果。在Settings中android:sharedUserId="android.uid.system"是不可少的,少了它很多Settings下应用直接开不了,或一开就报错。

解决方法一:

在system/vold 模块里的 Volume.cpp文件

在调用doMount的语句里做一下修改:
doMount(devicePath, path, false, false, false,1000, 1015, 0702, true)

doMount(devicePath, path, false, true, false,1000, 1015, 0002, true)

修改后进行编译生成可执行bin文件,经过测试,直接push这个bin文件到手机中并不能解决这个问题,需要重新编译安卓或者相应的image文件。

解决方法二:

把SD卡操作的功能独立出去,做成一个独立的APK,然后在原项目中调用改功能。

注:网上还写有第三种解决办法,即在Android.mk中添加LOCAL_CERTIFICATE := platform。经测试,这种办法是不成功的。

因为,LOCAL_CERTIFICATE := platform与android:sharedUserId="android.uid.system"是相对应的,必须同时出现。

只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key。在"build\target\product\security"下有platform.pk8和platform.x509.pem两个文件,用这两个key签名后apk才真正可以放入系统进程中。在Android.mk中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。

android.uid.system无法读取SD卡信息相关推荐

  1. Arduino ESP32 第三方库读取SD卡信息(三)

    Arduino ESP32 第三方库读取SD卡信息(三) 相关篇<Arduino ESP32 第三方库读取SD卡信息(一)> <Arduino ESP32 第三方库读取SD卡信息(二 ...

  2. Android NFC源码读取公交卡信息余额和交易记录

    通过NFC的读模式,读取公交卡的余额和交易记录.可以读取深圳通.羊城通.北京卡.八达通.武汉通等. 源码亲测可用放心下载. 源码下载Eclipse版本:Android NFC源码读取公交卡信息余额和交 ...

  3. 【iCore1S 双核心板_ARM】例程十三:SDIO实验——读取SD卡信息

    实验现象: 核心代码: int main(void) {/* USER CODE BEGIN 1 */HAL_SD_TransferStateTypedef State;/* USER CODE EN ...

  4. 关于Android读取SD卡存储的动态申请

    关于Android读取SD卡存储的动态申请 介绍 Android的目录结构 数据的主要存储方式 疑惑 原来的代码:MainActivity.java 修改后代码: 介绍 这篇文章主要关于我学习SD卡的 ...

  5. android 读取sd卡中的图片

    一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限 --><uses-permission android:name="android.permissio ...

  6. android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...

    我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚.我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内 ...

  7. Arduino UNO 读取SD卡的信息

    Arduino UNO 读取SD卡的信息 SD卡座模块 接口描述: 控制接口:共6个引脚(GND.VCC.MISO.MOSI.SCK.CS),GND为地,VCC为供电电源,MISO.MOSI.SCK为 ...

  8. android 清空数组缓存,Android数据持久化之读写SD卡中内容的方法详解

    本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput.openFileInput虽然都能通过流对象O ...

  9. STM32F103读取SD卡的数据(fat文件模式)

    实验目的 掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式). 实验原理 SD卡寄存器 SD卡总共有8个寄存器,用于设定或表示SD卡信息. 这些寄存器只能通过对应的命令访 ...

最新文章

  1. iOS 实现点击微信头像效果
  2. 华尔街风暴的深层原因
  3. hexo的next主题个性化教程 打造炫酷网站
  4. 【Python基础教程】变量的作用域详解
  5. php配置文件能直接用吗,我应该在PHP应用程序中使用YAML配置文件吗?
  6. 很慢怎么办_手机信号满格,网速却很慢怎么办?3招教你一键恢复网络
  7. 3d制作中需要注意的问题_浅谈线路板制作时需要注意的问题
  8. axure web组件_AXURE原型设计:移动端选择器的应用
  9. 企业数字化转型到底是什么?带你一图看懂答案
  10. git 查看pop内容_原创 | 有了Git这个操作,我再也不怕代码混乱了!
  11. UI 自动化框架对比2
  12. 软件工程(五)软件分析和软件设计
  13. 1秒等于多少微妙,纳秒
  14. UVALive4987(dp+贪心)
  15. Android音乐浮窗播放器
  16. 深度分析红米note9和华为nova8哪个好-红米note9和华为nova8区别
  17. 用jacob为word表格设置边框线
  18. Enable VT-x in your BIOS security settings, ensure that HAXM is installed properly
  19. openvino下载模型
  20. 头文件源文件定义标准

热门文章

  1. 思科模拟器 --- 路由器综合路由配置
  2. linux ffmpeg 3gp mp4,利用ffmpeg转换3gp文件
  3. SPSS正版中文版 | SPSS软件下载安装| SPSS软件功能使用
  4. Linux-USB驱动笔记(六)--设备驱动框架
  5. bzoj1925 [Sdoi2010] 地精部落
  6. 超详细Eclipse配置Tomcat配置教程
  7. 【钉钉-场景化能力包】企业员工积分排名
  8. ipad 查看电池寿命
  9. 什么是中间件?什么是jdk?
  10. 三国志13pk版登录武将输入中文名方法与更改图像详解