我不太了解有关ContentProvider
权限的具体细节,但你可以尝试以下选项:
1/ 在调试版本的AndroidManifest.xml
中,使用如下声明:
<provider
android:name=".com.test.ContentProvider"
tools:remove="android:permission" />
这将在调试构建合并清单中移除该权限。
2/ 在字符串资源中定义权限。在主strings.xml
中定义权限值,在调试strings.xml
中将它留空。
// 主strings.xml:
<string name="permission_name">com.test.permission</string>
// 调试strings.xml:
<string name="permission_name"></string>
然后,你的provider
标签可以根据构建类型引用这个字符串:
<provider
android:name=".com.test.ContentProvider"
android:authorities="com.test.provider"
android:enabled="true"
android:exported="true"
android:permission="@string/permission_name" />
请注意,这种方式能否奏效取决于权限是否是必须的,以上只是根据不同构建自定义配置的几种方法。