Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
Board: Firefly-RK3399
背景:
弄了个应用写数据到sdcard目录,写sd权限android.permission.WRITE_EXTERNAL_STORAGE在AndroidManifest.xml文件中是有定义的,但提示无法写入。
查看权限:
从/data/system/packages.xml中可以实时查看应用拥有的权限
应用的包名是com.example.attribute,文件中对应的权限发现没有WRITE_EXTERNAL_STORAGE
<package name="com.example.attribute" codePath="/data/app/com.example.attribute-1" nativeLibraryPath="/data/app/com.example.attribute-1/lib" primaryCpuAbi="arm64-v8a" publicFlags="940097094" privateFlags="0" ft="162283287d8" it="1622821af4e" ut="16228328f33" version="1" userId="10061">
<sigs count="1">
<cert index="2" />
</sigs>
<perms>
<item name="android.permission.INTERNET" granted="true" flags="0" />
</perms>
<proper-signing-keyset identifier="8" />
</package>
原因:
一开始安装apk时,系统权限等级没有降下来导致写sd权限被拒绝了,应用的api level是23.
解决方法:
卸载此应用,重新安装即可。