首页
社区
课程
招聘
[求助]jni打开/dev/block/mmcblk1
发表于: 2014-6-24 09:56 9384

[求助]jni打开/dev/block/mmcblk1

2014-6-24 09:56
9384
在android 4.4 系统下,调用jni打开/dev/block/mmcblk1,进行读写。
jni中,open("/dev/block/mmcblk1",O_RDWR);        返回值为-1,没有打开,查看信息输出。
问题是permission denied

求助各位怎么解决?提前感谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 3
活跃值: (414)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
先root
2014-6-24 13:48
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
jni没有权限打开这个设备, root以后,申请到root权限才能打开.
2014-6-24 14:21
0
雪    币: 2
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
已经root过了,还需要申请root权限?
2014-6-24 16:10
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
一般root都会有授权管理,授权管理通过才会给权限.
2014-6-24 18:01
0
雪    币: 2
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
授权管理已经通过了,仍然报permission denied
2014-6-25 09:21
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
jni要有root权限,jni要里通过su去获取
2014-6-25 13:41
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
应用进程没有root权限,必须通过其他方式来代理
比如通过root后置入系统的su
Runtime.getRuntime().exec("su -c dd if=/dev/block/mmcblk0pxx of=/sdcard/pxx.img");

Java工程中使用su建议使用这个库:
https://github.com/Chainfire/libsuperuser
2014-6-30 16:55
0
雪    币: 2
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
jni读写功能在4.2的版本上可以成功读写,但是note3 4.4 就报错permission denied的错误,是否是因为android-selinux是enforce状态,才无法读写
2014-7-2 10:29
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
有root权限看一下/data/misc/audit/audit.log, 是不是有被seandroid拒绝的log
2014-7-2 20:15
0
游客
登录 | 注册 方可回帖
返回
//