Javascript Expo android单机版应用程序在请求位置权限时崩溃

Javascript Expo android单机版应用程序在请求位置权限时崩溃,javascript,react-native,expo,android-permissions,Javascript,React Native,Expo,Android Permissions,我对expo单机版应用程序有问题。问题在于位置的ask权限。在开发模式下,应用程序请求位置权限,运行良好。没有bug。在使用 世博建筑:安卓 它创建了一个android独立应用程序。安装该APK并尝试访问请求位置权限的同一页面后,应用程序崩溃并重新启动 我将权限添加到app.json,但它不起作用。开发模式,一切正常 app.json 请求位置权限 任何人都可以解决这个问题,请帮助我 升级您的expo cli和expo sdk或降级(如果太新)您想通过Android Studio制作一个应用程序

我对expo单机版应用程序有问题。问题在于位置的ask权限。在开发模式下,应用程序请求位置权限,运行良好。没有bug。在使用

世博建筑:安卓

它创建了一个android独立应用程序。安装该APK并尝试访问请求位置权限的同一页面后,应用程序崩溃并重新启动

我将权限添加到app.json,但它不起作用。开发模式,一切正常

app.json 请求位置权限
任何人都可以解决这个问题,请帮助我

升级您的expo cli和expo sdk或降级(如果太新)

您想通过Android Studio制作一个应用程序吗?我没有安装Android Studio,我使用vs代码。因为您将expo制作为一个独立的应用程序,所以您需要使用Android Studio来构建它。是的,没问题。但问题是,这不是我第一次构建这个应用程序。每次我构建这个应用程序,它都能正常工作。突然,我上次构建应用程序时,在询问权限时发生崩溃。但在它工作之前..如何使用android studio构建??我已经用expo-build:android构建了它。它错了吗?它不是一个与世博会有关的错误!
"expo": {
    "name": "AS APP",
    "slug": "as_app",
    "privacy": "public",
    "sdkVersion": "32.0.0",
    "android": {
      "package": "com.xxx.asapp",
      "icon": "./assets/icon.png",
      "permissions": [
        "ACCESS_COARSE_LOCATION",
        "ACCESS_FINE_LOCATION",
        "CAMERA",
        "READ_EXTERNAL_STORAGE",
        "WRITE_EXTERNAL_STORAGE"
      ]
    },
    "platforms": [
      "ios",
      "android"
    ],
    "version": "1.10",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "cover",
      "backgroundColor": "#781D7D"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "com.xxx.asapp"
    },
    "description": "",
  }

let { status } = await Permissions.askAsync(Permissions.LOCATION);

        if(this.state.isMounted){

            if (status !== 'granted') {
                Alert.alert(
                    'Permissions',
                    'please grant your permissions to access your location!',
                    [
                      {text: 'Ok', onPress: () => {
                        const popAction = StackActions.pop({n: 1});
                        this.props.navigation.dispatch(popAction);
                      }}
                    ],
                    {cancelable: false},
                  );
            }else{
                let myLocation = await Location.getCurrentPositionAsync({
                    enableHighAccuracy: true,
                  });
                let direction = await Location.geocodeAsync(this.props.navigation.getParam('address',null));
                let myLocationAddress = await Location.reverseGeocodeAsync({
                    latitude: myLocation.coords.latitude,
                    longitude: myLocation.coords.longitude,
                });

                this.setState({
                    coordinates: [
                        {
                            latitude: myLocation.coords.latitude,
                            longitude: myLocation.coords.longitude
                        },
                        {
                            latitude: direction[0].latitude,
                            longitude: direction[0].longitude
                        },
                    ],
                    myAddress: myLocationAddress
                })
            }
        }