且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

WRITE_EXTERNAL_STORAGE不适用于棒棒糖,即使它已设置在清单中

更新时间:2022-02-06 16:26:36

问题的原因是通过gradle引入了一个外部库,该库具有自己的清单,请求<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18">

The cause of the issue was an external library pulled in via gradle which had its own manifest requesting <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18">

仅当不包括maxSdkVersion ="18"时,我自己的清单才有效,因此添加该参数的清单合并会导致此错误.我的解决方案是将自己的清单更改为:

My own manifest only worked if maxSdkVersion="18" was NOT included, and so the manifest merger adding that param caused this error. My solution was to change my own manifest to:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="23" tools:replace="android:maxSdkVersion" />

我假设maxSdkVersion ="18"表示任何运行SDK 19-22的设备都没有此权限(23+可以在运行时请求它).

I assume that the maxSdkVersion="18" meant that any devices running SDK 19-22 could not have this permission (with 23+ being able to request it at runtime).