[英]Override maxSdkVersion used by library
这是场景。 我的应用程序 (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" ,因此我当前运行 nougat 的设备无法请求此特定权限。
目前我找到了一个解决方案来覆盖我的应用程序 (A) manifest.xml 中的这个值
<uses-permission
tools:replace="android:maxSdkVersion"
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="28"/>
但这需要我每次更新应用程序中的 sdk 版本时更新maxSdkVersion (A)。
所以我的问题是
在您自己的AndroidManifest.xml
上使用tools:remove
属性:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:remove="android:maxSdkVersion"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.