这是场景。我的应用程序(A)使用的是库(B)。
我的应用(A)使用READ_PHONE_STATE权限,并且在manifest.xml中声明为
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
虽然库(B)也使用相同的权限READ_PHONE_STATE,但maxSdkVersion设置为22。
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="22"/>
所以现在的问题是构建应用程序时,在最终的_merged_manifest_中,我设置了 maxSdkVersion =“ 22” ,因此,当前运行牛轧糖的当前设备无法请求为此特别的许可。
当前,我在我的应用(A)manifest.xml中找到了覆盖此值的解决方案
<uses-permission
tools:replace="android:maxSdkVersion"
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="28"/>
但这要求我每次在应用程序(A)中更新sdk版本时都更新 maxSdkVersion 。
所以我的问题是
答案 0 :(得分:3)
在您自己的tools:remove
上使用AndroidManifest.xml
属性:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:remove="android:maxSdkVersion"/>