React Native应用因In App browser reborn包的权限问题无法上传Google Play,求解决方案
解决React Native应用因QUERY_ALL_PACKAGES权限无法上传Google Play的问题
针对你提到的由"In App browser reborn"包导致的权限问题,给你几个可行的解决思路:
升级依赖包版本
多数第三方库会跟进Google的权限政策,最新版本可能已经移除了QUERY_ALL_PACKAGES权限或者提供了合规的替代实现。执行以下命令更新到最新版:npm install react-native-inappbrowser-reborn@latest
或yarn add react-native-inappbrowser-reborn@latest
更新后重新打包,检查权限列表是否已移除该权限。手动在AndroidManifest中移除权限
部分第三方库会自动向AndroidManifest.xml注入权限,你可以通过tools:node="remove"强制移除。操作步骤:- 在AndroidManifest.xml的
标签中添加tools命名空间: <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> - 添加权限移除声明:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:node="remove" />
- 在AndroidManifest.xml的
替换为合规的内嵌浏览器库
如果升级或移除权限后影响了库的正常功能,可以考虑替换为更符合Google政策的替代库,比如react-native-webview,它不需要QUERY_ALL_PACKAGES权限,能满足绝大多数内嵌网页浏览的需求。申请权限豁免(仅核心功能必需时使用)
若你的应用核心功能确实依赖枚举所有已安装应用,可在Google Play控制台提交权限豁免申请,详细说明使用该权限的必要性及无其他替代方案的理由。但此方式通过率较低,仅作为最后备选。
内容的提问来源于stack exchange,提问作者Lelouch
相关产品推荐
相关产品推荐

