You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决React Native应用提交PlayStore时的后台位置权限报错?

问题:未使用位置权限的ToDoList应用提交Google Play时触发后台位置访问报错

我开发了一个简易ToDoList应用,完全没有添加任何访问位置信息的代码或依赖包,但提交到Google Play Store时,收到了应用正在访问后台位置的报错。

项目仅安装了ion icons相关依赖,检查AndroidManifest.xml后也没发现任何和后台位置相关的配置。


Package.json 内容

{
  "name": "todolist",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "eas": "^0.1.0",
    "expo": "~46.0.9",
    "expo-status-bar": "~1.4.0",
    "expo-updates": "~0.14.5",
    "react": "18.0.0",
    "react-native": "0.69.5",
    "react-native-ionicons": "^4.6.5",
    "react-native-vector-icons": "^9.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9"
  },
  "private": true
}

AndroidManifest.xml 内容

<uses-permission android:name="android.permission.INTERNET" />

<application
  android:name=".MainApplication"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:roundIcon="@mipmap/ic_launcher_round"
  android:allowBackup="false"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
    android:launchMode="singleTask"
    android:windowSoftInputMode="adjustResize"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
</application>

排查与解决方法

  • 检查Expo隐式权限:Expo核心包可能默认注入权限,可通过eas build --local生成本地构建包,查看产物中最终的AndroidManifest.xml;或运行expo prebuild生成原生项目后直接检查Manifest。
  • 主动屏蔽权限:在app.json/app.config.js中添加配置,强制移除位置相关权限:
    "android": {
      "blockedPermissions": [
        "ACCESS_BACKGROUND_LOCATION",
        "ACCESS_FINE_LOCATION",
        "ACCESS_COARSE_LOCATION"
      ]
    }
    
  • 排查深层依赖:运行npm ls查看完整依赖树,确认图标依赖的子依赖是否引入了位置相关包。
  • 核对Play Console声明:进入Google Play Console的权限声明页面,确认所有位置相关选项都设为"不使用",避免误勾选导致的报错。

内容的提问来源于stack exchange,提问作者Arjun Tandon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:15:42