用expo生成的apk安装时不要求权限

iva*_*ata 4 android reactjs react-native expo

我的问题是我的应用程序在使用 yarn start 或 expo start 进行测试时要求我提供相机权限和使用其他手机凭据(例如指纹)的权限。但是,当我生成带有 expo build: android 的 apk 时,安装它时它不会请求资源的权限,并且在来自手机的应用程序信息中,它通知我该应用程序没有请求使用权限任何资源。

{
  "expo": {
    "name": "Page",
    "slug": "Page",
    "privacy": "public",
    "sdkVersion": "34.0.0",
    "platforms": [
      "ios",
      "android",
      "web"
    ],
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/5_5_R-icon.png",
    "splash": {
      "image": "./assets/splash1.png",
      "resizeMode": "cover",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "supportsTablet": true
    },
    "android":{
      "permissions":["CAMERA_ROLL"],
      "package":"com.ivanzapata.page"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

azu*_*ndo 9

您在 app.json 中的权限需要是 Android 权限名称,而不是 expo 权限名称。见https://docs.expo.io/versions/latest/sdk/permissions/#android-permissions-equivalents-inside-appjson

所以你的 app.json 应该是

    "android":{
      "permissions":["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"],
      "package":"com.ivanzapata.page"
    }
Run Code Online (Sandbox Code Playgroud)