覆盖库使用的 maxSdkVersion
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" 设置,因此我当前运行 牛轧糖设备无法请求此特定权限。
目前我找到了在我的应用程序中覆盖此值的解决方案 (A) manifest.xml
<uses-permission
tools:replace="android:maxSdkVersion"
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="28"/>
但这需要我每次更新我的应用程序中的 sdk 版本时更新 maxSdkVersion。
所以我的问题是
- 有没有办法忽略库 (B) 设置的 maxSdkVersion 在我的 manifest.xml 中使用一些命名空间,比如 tools:ignore
- 自动将 maxSdkVersion 设置为 build.gradle 中的最新 sdkVersion,无需手动更改
自己使用tools:remove
属性AndroidManifest.xml
:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:remove="android:maxSdkVersion"/>
场景如下。我的应用程序 (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"/>
但这需要我每次更新我的应用程序中的 sdk 版本时更新 maxSdkVersion。
所以我的问题是
- 有没有办法忽略库 (B) 设置的 maxSdkVersion 在我的 manifest.xml 中使用一些命名空间,比如 tools:ignore
- 自动将 maxSdkVersion 设置为 build.gradle 中的最新 sdkVersion,无需手动更改
自己使用tools:remove
属性AndroidManifest.xml
:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:remove="android:maxSdkVersion"/>