Android赋予内置三方应用应用权限
内置第三方应用的时候,应用一般都会请求权限的。
内置应用的话加上android:sharedUserId="android.uid.system" 然后使用系统签名就能默认给予权限
但是三方应用不会加sharedUserId的,可以通过以下方法给予内置的第三方应用它请求的权限,这样应用就不会在去请求权限了
项目MSM8953
系统Android9.0
在device/qcom/msm8953/下新建文件夹和文件etc/default-permissions/default-permissions-example.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<exceptions>
<exception
package="com.example.test">
<!-- External storage -->
<permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
</exception>
</exceptions>
以上xml赋予应用com.example.test 存储权限
然后在对应项目的mk里面添加,我的项目mk位于device/qcom/msm8953/msm8953.mk
PRODUCT_COPY_FILES += \
device/qcom/msm8953/etc/default-permissions/default-permissions-example.xml:system/etc/default-permissions/default-permissions-example.xml
这样就好了