微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > KK版本手机中发现很多三方apk,无法在外置sd卡上做新建、删除文件等写操作

KK版本手机中发现很多三方apk,无法在外置sd卡上做新建、删除文件等写操作

时间:10-02 整理:3721RD 点击:
[sdcard-common]KK版本手机中发现很多三方apk,如三方filemanager,无法在外置sd卡上做新建、删除文件等写操作
[DESCRIPTION]
KKapkfilemanagersdPermission denied的错误
System.out: mkdir failed: EACCES (Permission denied) path =
/storage/sdcard1/android/data/cn.cmvideo.isj
[SOLUTION]
一、因为KK版本上Google规定应用需要拥有android.permission.WRITE_MEDIA_STORAGE权限才能写副卡,所以若三方没
有按照要求申请到权限,而又要写副卡就会出现操作失败。
google原文说明: http://source.android.com/devices/tech/storage/
二、应用要拥有android.permission.WRITE_MEDIA_STORAGE的条件:
1、AndroiDMAnifest.xml中有申请android.permission.WRITE_MEDIA_STORAGE
<uses-permission android:name = "android.permission.WRITE_MEDIA_STORAGE" />
如果没有申请,需拿源码添加,否则该应用是肯定无法写副卡的。
2、要让这个权限申请成功,必须要采用下面2种方法之一
因为android.permission.WRITE_MEDIA_STORAGE属于SystemOrSignature level的permission,必须采用下面两种方法
之一才能申请成功。
1). 应用签系统签名
2). 将应用预置到/system/priv-app/下,即在对应的Android.mk中添加如下语句:
LOCAL_PRIVILEGED_MODULE := true
三、对比测试需注意事项:
1、该对比机并没有被root
2、所做的操作确实是写副卡
3、要写的文件并非是卡/Android/data/[packagename]下。因为google规定Android/data/[packagename]是对应
package的私有目录,对应的package是有权读写的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top