世博删除权限位置

sam*_*uel 5 permissions android typescript expo

我尝试将我的应用发布到 google play 商店,但他们说我不能,因为我使用位置,但我从不使用它..

如果我制作了一个应用程序包并使用 Android Studio 打开它,我会在 Manifest 上找到它:

[...]
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
[...]
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
[...]
Run Code Online (Sandbox Code Playgroud)

我想怎么删?以及如何知道这是在哪里使用?

我的 package.json :

"dependencies": {
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "5.9.2",
    "@react-navigation/drawer": "^5.9.0",
    "@react-navigation/material-bottom-tabs": "^5.2.16",
    "@react-navigation/native": "^5.7.3",
    "@react-navigation/stack": "^5.9.0",
    "@types/react-native-snap-carousel": "^3.8.2",
    "expo": "~38.0.8",
    "expo-barcode-scanner": "~8.2.1",
    "firebase": "7.9.0",
    "react": "~16.11.0",
    "react-dom": "~16.11.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
    "react-native-barcode-builder": "^2.0.0",
    "react-native-circular-progress": "^1.3.6",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-paper": "^4.1.0",
    "react-native-reanimated": "~1.9.0",
    "react-native-safe-area-context": "~3.0.7",
    "react-native-screens": "~2.9.0",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-svg": "^12.1.0"
  },
  "devDependencies": {
    "@babel/core": "^7.8.6",
    "@types/react": "~16.9.41",
    "@types/react-native": "~0.62.13",
    "typescript": "~3.9.5"
  },
Run Code Online (Sandbox Code Playgroud)

Gre*_*g T 7

我遇到了同样的问题,Play 商店更改了他们的位置权限政策,自 2021 年 3 月 29 日起生效。这是我发现的内容:

1. 对于管理的博览会:

修改 app.json 以添加“权限”并仅指定您想要的权限。这将覆盖 Expo 的默认权限集。如果您不需要权限,则可以使用空数组。

android: {
    permissions: ["READ_CONTACTS", "WRITE_SETTINGS"]
    ...
Run Code Online (Sandbox Code Playgroud)

参考:https : //docs.expo.io/versions/latest/config/app/#permissions

请注意,Expo 默认包含一些制造商权限。您可能希望将这些添加到:

"com.google.android.c2dm.permission.RECEIVE",
"com.anddoes.launcher.permission.UPDATE_COUNT",
"com.majeur.launcher.permission.UPDATE_BADGE",
"com.google.android.providers.gsf.permission.READ_GSERVICES",
"com.sonyericsson.home.permission.BROADCAST_BADGE",
"com.htc.launcher.permission.READ_SETTINGS",
"com.htc.launcher.permission.UPDATE_SHORTCUT",
"com.sec.android.provider.badge.permission.READ",
"com.sec.android.provider.badge.permission.WRITE"
Run Code Online (Sandbox Code Playgroud)

2.裸世博会:

在 AndroidManifest.xml 中使用tools:node="remove"删除特定权限

参考:https : //docs.expo.io/versions/latest/sdk/permissions/#exclusive-android-permissions-in-bare-workflow

三、展会地点

如果你安装了 expo-location,它会自动请求 ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION(看起来也像 ACCESS_BACKGROUND_LOCATION)。我曾经安装了 expo-location,并且必须手动将其从 node_modules 和 package-lock.json 中删除。

参考:https : //docs.expo.io/versions/latest/sdk/permissions/#permissions-on-android